Ejemplo n.º 1
0
        private void Apply(CartItemRemoved e)
        {
            var item = _items.Single(i => i.ProductId == e.ProductId);

            item.Remove(e.Count);
            if (item.IsEmpty)
            {
                _items.Remove(item);
            }
        }
Ejemplo n.º 2
0
        public void Handle(CartItemRemoved message)
        {
            var cart = ShoppingCartDatabase.ShoppingCarts[message.CartId];
            var item = GetCartItem(cart, message.ProductId);

            if (item == null)
            {
                return;
            }

            item.Count  -= message.Count;
            cart.Version = message.Version;

            if (item.Count > 0)
            {
                return;
            }

            var items = cart.Items.ToList();

            items.Remove(item);
            cart.Items = items.ToArray();
        }