public IActionResult AddToCart(int Id, int qty) { List <CartItem> CartItems; var CartSession = HttpContext.Session.GetString("Cart"); Cart Cart; if (CartSession == null) { Cart = new Cart(); CartItems = new List <CartItem>(); } else { Cart = JsonConvert.DeserializeObject <Cart>(HttpContext.Session.GetString("Cart")); CartItems = Cart.ItemList; } SetBox sb = _setBoxService.GetById(Id); if (CartItems.Any(i => i.Product.Name == sb.Name)) { CartItems.SingleOrDefault(i => i.Id == Id).Qty += qty; CartItems.SingleOrDefault(i => i.Id == Id).Price += (qty * sb.Price); } else { CartItem item = new CartItem { Id = ++CartItemId, Product = sb, Qty = qty, Price = qty * sb.Price }; CartItems.Add(item); } Cart.ItemList = CartItems; Cart.TotalPrice = Cart.ItemList.Sum(m => m.Price); Cart.TotalItems = Cart.ItemList.Sum(m => m.Qty); HttpContext.Session.SetString("Cart", JsonConvert.SerializeObject(Cart)); return(RedirectToAction("Index")); }
public Cart RemoveCartItem(Guid itemId) { CartItems = CartItems.Where(y => !CartItems.Any(x => x.Id == itemId)).ToList(); return this; }
public bool ContainsGiftVoucherProducts() => CartItems.Any(x => x.Product.ProductCategory == ProductCategory.GiftVoucher);