public void AddToCart(Product product) { // Get the matching cart and product instances var cartItem = _db.CartItems.SingleOrDefault( c => c.CartId == ShoppingCartId && c.ProductId == product.ProductId); if (cartItem == null) { // Create a new cart item if no cart item exists cartItem = new CartItem { ProductId = product.ProductId, CartId = ShoppingCartId, Count = 1 }; _db.CartItems.Add(cartItem); } else { // If the item does exist in the cart, then add one to the quantity cartItem.Count++; } }
public async Task<ActionResult> Edit(Product product) { if (ModelState.IsValid) { db.Entry(product).State = EntityState.Modified; await db.SaveChangesAsync(CancellationToken.None); //Invalidate the cache entry as it is modified MemoryCache.Default.Remove(string.Format("product_{0}", product.ProductId)); return RedirectToAction("Index"); } ViewBag.Categories = new SelectList(db.Categories, "CategoryId", "Name", product.CategoryId); return View(product); }
public async Task<ActionResult> Create(Product product) { if (ModelState.IsValid) { db.Products.Add(product); await db.SaveChangesAsync(CancellationToken.None); var annoucementHub = GlobalHost.ConnectionManager.GetHubContext<Hubs.AnnouncementHub>(); annoucementHub.Clients.All.announcement(new ProductData() { Title = product.Title, Url = Url.Action("Details", "Store", new { id = product.ProductId }) }); MemoryCache.Default.Remove("latestProduct"); return RedirectToAction("Index"); } return View(product); }