Beispiel #1
0
        public IList <CartItem> Remove(string productId, int quantity, out IList <CartItemDetail> shoppingCartItemDetailsRemoved)
        {
            IList <CartItem> itemRemoves = new List <CartItem>();

            shoppingCartItemDetailsRemoved = new List <CartItemDetail>();
            bool isRemove = false;

            for (int i = 0; i < quantity; i++)
            {
                var item = CartItems.FirstOrDefault(p => p.ProductId == productId);
                if (item != null)
                {
                    CartItems.Remove(item);
                    isRemove = true;
                    itemRemoves.Add(item);
                }
            }
            if (isRemove)
            {
                var item = CartItems.FirstOrDefault(p => p.ProductId == productId);
                if (item == null)
                {
                    if (CartItemDetails.ContainsKey(productId))
                    {
                        shoppingCartItemDetailsRemoved.Add(CartItemDetails[productId]);
                        CartItemDetails.Remove(productId);
                    }
                }
            }
            RemoveItemEvent(itemRemoves, shoppingCartItemDetailsRemoved);
            return(itemRemoves);
        }
        public List <CartItemDetails> checkquantity([FromBody] List <CartItemDetails> products)
        {
            List <CartItemDetails> cartitemList = new List <CartItemDetails>();

            cartproductlist = icheckoutService.checkProductAvailabilty(products);

            if (cartproductlist != null)
            {
                foreach (var cartproduct in cartproductlist)
                {
                    CartItemDetails cartItemDetails = new CartItemDetails()
                    {
                        ProductId    = cartproduct.ProductId,
                        ProductName  = cartproduct.ProductName,
                        Quantity     = cartproduct.Quantity,
                        Image        = cartproduct.Image,
                        Description  = cartproduct.Description,
                        UnitPrice    = cartproduct.UnitPrice,
                        Availability = cartproduct.Availability,
                        Discount     = cartproduct.Discount,
                    };

                    cartitemList.Add(cartItemDetails);
                }
            }

            //return  productlist;

            return(cartitemList.ToList());
        }
Beispiel #3
0
 public CartCacheAddEvent ToAddOrChangeEvent()
 {
     return(new CartCacheAddEvent()
     {
         Id = this.Id,
         Status = this.Status,
         Code = this.Code,
         Version = this.Version + 1,
         ClientId = this.ClientId,
         ShardId = this.ShardId,
         LanguageId = this.LanguageId,
         CreatedUid = this.CreatedUid,
         StoreId = this.StoreId,
         UpdatedDateUtc = this.UpdatedDateUtc,
         UpdatedUid = this.UpdatedUid,
         CreatedDateUtc = this.CreatedDateUtc,
         CartItems = CartItems?.Select(p => p.ToAddOrChangeEvent()).ToArray(),
         CartItemDetails = CartItemDetails?.Select(p => p.Value.ToAddOrChangeEvent()).ToArray(),
     });
 }
Beispiel #4
0
        public CartItem[] Add(CartItem shoppingCartItem, CartItemDetail shoppingCartItemDetail, int quantity, out CartItemDetail newCartItemDetail)
        {
            newCartItemDetail = null;
            IList <CartItem> cartItems = new List <CartItem>();

            for (int i = 0; i < quantity; i++)
            {
                CartItems.Add(shoppingCartItem);
                cartItems.Add(shoppingCartItem);
            }
            if (newCartItemDetail != null)
            {
                if (!CartItemDetails.ContainsKey(shoppingCartItemDetail.ProductId))
                {
                    CartItemDetails.Add(shoppingCartItemDetail.ProductId, shoppingCartItemDetail);
                    newCartItemDetail = shoppingCartItemDetail;
                }
            }

            CreateAddEvent();
            return(cartItems.ToArray());
        }