Ejemplo n.º 1
0
        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"));
        }
Ejemplo n.º 2
0
 public Cart RemoveCartItem(Guid itemId)
 {
   CartItems = CartItems.Where(y => !CartItems.Any(x => x.Id == itemId)).ToList();
   return this;
 }
Ejemplo n.º 3
0
 public bool ContainsGiftVoucherProducts()
 => CartItems.Any(x => x.Product.ProductCategory == ProductCategory.GiftVoucher);