//takes an Album as a parameter and adds it to the user’s cart. Since the Cart table tracks quantity for each album //, it includes logic to create a new row if needed or just increment the quantity if the user has already ordered one copy of the album. public void AddToCart(Album album) { //get the matching cart and album instance var cartItem = storeDB.Carts.SingleOrDefault( c => c.CartID == ShoppingCartID && c.AlbumID == album.AlbumID); if (cartItem == null) { //create a new cart item cartItem = new Cart { AlbumID = album.AlbumID, CartID = ShoppingCartID, Count = 1, DateCreated = DateTime.Now }; storeDB.Carts.Add(cartItem); } else { //just increase the count cartItem.Count++; } //save the change to db storeDB.SaveChanges(); }
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); }
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); }