internal static void Initialize(this BurgerStoreDbContext db) { //Sometimes this has to be commented out if you run into migrations/db rebuild issues db.Database.Migrate(); if (db.Products.Count() == 0) { db.Products.Add(new Product { Name = "Ground Beef Burger", Description = "Our special 80/20 blend of ground beef", Image = "/images/burger1.jpeg ", Price = 5.99m, Organic = false, Grassfed = false }); db.Products.Add(new Product { Name = "Organic Grassfed Ground Beef Burger", Description = "A delicious blend of humanely raised ground organic grassfed beef", Image = "/images/burger2.jpeg ", Price = 7.99m, Organic = true, Grassfed = true }); db.Products.Add(new Product { Name = "Ground Turkey Burger", Description = "Thanksgiving on the grill!", Image = "/images/burger3.jpeg ", Price = 3.99m, Organic = false, Grassfed = false }); db.Products.Add(new Product { Name = "Veggie Burger", Description = "A healthy and delicous meat alternative for your grilling pleasure!", Image = "/images/veggieburger.jpeg", Price = 5.99M, Organic = true, Grassfed = false }); //This helps not make the request too "chatty" with SQL(locking tables) db.SaveChanges(); } }
public IActionResult Details(int id, int quantity = 1) { Guid cartId; Cart cart = null; if (Request.Cookies.ContainsKey("cartId")) { if (Guid.TryParse(Request.Cookies["cartId"], out cartId)) { cart = _burgerStoreDbContext.Carts.Include(carts => carts.CartItems).ThenInclude(cartitems => cartitems.Product).FirstOrDefault(x => x.CookieIdentifier == cartId); } } if (cart == null) { cart = new Cart(); cartId = Guid.NewGuid(); cart.CookieIdentifier = cartId; _burgerStoreDbContext.Carts.Add(cart); Response.Cookies.Append("cartId", cartId.ToString(), new Microsoft.AspNetCore.Http.CookieOptions { Expires = DateTime.UtcNow.AddYears(100) }); } CartItem item = cart.CartItems.FirstOrDefault(x => x.Product.ID == 2); if (item == null) { item = new CartItem(); item.Product = _burgerStoreDbContext.Products.Find(id); cart.CartItems.Add(item); } item.Quantity += quantity; cart.LastModified = DateTime.Now; _burgerStoreDbContext.SaveChanges(); return(RedirectToAction("Index", "Cart")); }
public IActionResult Remove(int id) { Guid cartId; Cart cart = null; if (Request.Cookies.ContainsKey("cartId")) { if (Guid.TryParse(Request.Cookies["cartId"], out cartId)) { cart = _burgerStoreDbContext.Carts.Include(carts => carts.CartItems).ThenInclude(cartitems => cartitems.Product).FirstOrDefault(x => x.CookieIdentifier == cartId); } } CartItem item = cart.CartItems.FirstOrDefault(x => x.ID == id); cart.LastModified = DateTime.Now; _burgerStoreDbContext.CartItems.Remove(item); _burgerStoreDbContext.SaveChanges(); return(RedirectToAction("Index")); }