public void Apply(ItemAddedToBasket @event, long _) { var itemAlreadyInBasket = _items.ContainsKey(@event.ProductId); if (itemAlreadyInBasket) { AddQuantityToItemInBasket(@event); } else { AddNewItemToBasket(@event); } }
private void AddQuantityToItemInBasket(ItemAddedToBasket @event) { _items[@event.ProductId] = _items[@event.ProductId].AddQuantity(@event.Quantity); }
private void AddNewItemToBasket(ItemAddedToBasket @event) { var orderItem = new BasketItem(@event.ProductId, @event.Quantity, @event.ProductTitle, @event.Price); _items.Add(orderItem.ProductId, orderItem); }