private void Apply(CartItemRemoved e) { var item = _items.Single(i => i.ProductId == e.ProductId); item.Remove(e.Count); if (item.IsEmpty) { _items.Remove(item); } }
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(); }