Exemple #1
0
 private void AddToVisitorCart(CartProduct input)
 {
     List<CartProduct> cartProducts = new List<CartProduct>();
     var temp = (List<CartProduct>)Session["Cart"];
     if (Session["Cart"] == null || temp.Count == 0)
     {
         cartProducts.Add(input);
         Session["Cart"] = cartProducts;
     }
     else
     {
         cartProducts.AddRange((List<CartProduct>)Session["Cart"]);
         if (!cartProducts.Where(c => c.ProductId == input.ProductId).Any())
         {
             cartProducts.Add(input);
         }
         Session["Cart"] = cartProducts;
     }
 }
Exemple #2
0
        private void AddToUserCart(CartProduct input)
        {
            Cart cart = db.Carts.Where(c => c.UserId == user.Id && c.Status == StatusEnum.PENDING).FirstOrDefault();

            // Check if the user already has a cart in db
            if (cart != null && cart.Status == StatusEnum.PENDING)
            {
                CartProduct cartProduct = new CartProduct()
                {
                    CartId = cart.CartId,
                    ProductId = input.ProductId,
                    AmountOfProducts = input.AmountOfProducts
                };

                // Check if the product already exists in the cart
                if (db.CartProducts.Where(c => c.ProductId == cartProduct.ProductId && c.CartId == cart.CartId).Any())
                {
                    db.Entry(cartProduct).State = EntityState.Modified;
                }
                else
                {
                    db.CartProducts.Add(cartProduct);
                }
            }
            else
            {
                cart = new Cart()
                {
                    CartId = db.Carts.Any() ? db.Carts.Max(c => c.CartId) + 1: 1,
                    UserId = user.Id,
                    Status = StatusEnum.PENDING
                };

                CartProduct cartProduct = new CartProduct()
                {
                    Cart = cart,
                    CartId = cart.CartId,
                    ProductId = input.ProductId,
                    AmountOfProducts = input.AmountOfProducts
                };
                db.Carts.Add(cart);
                db.CartProducts.Add(cartProduct);
            }
            db.SaveChanges();
        }