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);
        }
Beispiel #2
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());
        }