131 lines
3.5 KiB
C#
131 lines
3.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Data;
|
|
using System.Data.Entity;
|
|
using System.Linq;
|
|
using System.Web;
|
|
using System.Web.Mvc;
|
|
using MvcMusicStore.Models;
|
|
|
|
namespace MvcMusicStore.Controllers
|
|
{
|
|
[Authorize(Roles = "Administrator")]
|
|
public class StoreManagerController : Controller
|
|
{
|
|
private MusicStoreEntities db = new MusicStoreEntities();
|
|
|
|
//
|
|
// GET: /StoreManager/
|
|
|
|
public ActionResult Index()
|
|
{
|
|
var albums = db.Albums.Include(a => a.Genre).Include(a => a.Artist)
|
|
.OrderBy(a => a.Price);
|
|
return View(albums.ToList());
|
|
}
|
|
|
|
//
|
|
// GET: /StoreManager/Details/5
|
|
|
|
public ActionResult Details(int id = 0)
|
|
{
|
|
Album album = db.Albums.Find(id);
|
|
if (album == null)
|
|
{
|
|
return HttpNotFound();
|
|
}
|
|
return View(album);
|
|
}
|
|
|
|
//
|
|
// GET: /StoreManager/Create
|
|
|
|
public ActionResult Create()
|
|
{
|
|
ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name");
|
|
ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name");
|
|
return View();
|
|
}
|
|
|
|
//
|
|
// POST: /StoreManager/Create
|
|
|
|
[HttpPost]
|
|
public ActionResult Create(Album album)
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
db.Albums.Add(album);
|
|
db.SaveChanges();
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
|
|
ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
|
|
return View(album);
|
|
}
|
|
|
|
//
|
|
// GET: /StoreManager/Edit/5
|
|
|
|
public ActionResult Edit(int id = 0)
|
|
{
|
|
Album album = db.Albums.Find(id);
|
|
if (album == null)
|
|
{
|
|
return HttpNotFound();
|
|
}
|
|
ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
|
|
ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
|
|
return View(album);
|
|
}
|
|
|
|
//
|
|
// POST: /StoreManager/Edit/5
|
|
|
|
[HttpPost]
|
|
public ActionResult Edit(Album album)
|
|
{
|
|
if (ModelState.IsValid)
|
|
{
|
|
db.Entry(album).State = EntityState.Modified;
|
|
db.SaveChanges();
|
|
return RedirectToAction("Index");
|
|
}
|
|
ViewBag.GenreId = new SelectList(db.Genres, "GenreId", "Name", album.GenreId);
|
|
ViewBag.ArtistId = new SelectList(db.Artists, "ArtistId", "Name", album.ArtistId);
|
|
return View(album);
|
|
}
|
|
|
|
//
|
|
// GET: /StoreManager/Delete/5
|
|
|
|
public ActionResult Delete(int id = 0)
|
|
{
|
|
Album album = db.Albums.Find(id);
|
|
if (album == null)
|
|
{
|
|
return HttpNotFound();
|
|
}
|
|
return View(album);
|
|
}
|
|
|
|
//
|
|
// POST: /StoreManager/Delete/5
|
|
|
|
[HttpPost, ActionName("Delete")]
|
|
public ActionResult DeleteConfirmed(int id)
|
|
{
|
|
Album album = db.Albums.Find(id);
|
|
db.Albums.Remove(album);
|
|
db.SaveChanges();
|
|
return RedirectToAction("Index");
|
|
}
|
|
|
|
protected override void Dispose(bool disposing)
|
|
{
|
|
db.Dispose();
|
|
base.Dispose(disposing);
|
|
}
|
|
}
|
|
} |