private ShoppingCart Apply(ItemAddedToShoppingCart @event) { var newItems = new List <string>(Items) { @event.Item }; return(new ShoppingCart { Id = Id, Items = newItems }); }
private ShoppingCart Apply(ItemAddedToShoppingCart @event) { if (Id != @event.Id) { throw new InvalidOperationException("Attempted to add an item for a shopping cart with a different ID"); } var newItems = new List <string>(Items) { @event.Item }; return(new ShoppingCart { Id = Id, Items = newItems }); }
public ICommandResult <ShoppingCart, IDomainEvent> Execute(AddItemToShoppingCart command) { var context = CommandExecutionContext.Create(this, ApplyEventRouter); var isNew = Id == null; if (isNew) { var shoppingCartCreated = new ShoppingCartCreated(command.Id); context = context.ApplyEvent(shoppingCartCreated); } var itemAddedToShoppingCart = new ItemAddedToShoppingCart(command.Id, command.Item); context = context.ApplyEvent(itemAddedToShoppingCart); return(context.Result); }
public ShoppingCartCommandResult Handle(AddItemToShoppingCart command) { var result = new ShoppingCartCommandResult(this).WithEventRouter(EventRouter); var isNew = Id == null; if (isNew) { var shoppingCartCreated = new ShoppingCartCreated(command.Id); result = result.ApplyEvent(shoppingCartCreated); } var itemAddedToShoppingCart = new ItemAddedToShoppingCart(command.Id, command.Item); result = result.ApplyEvent(itemAddedToShoppingCart); return(result); }
public Task Handle(ItemAddedToShoppingCart e, EventEnvelope envelope) { Debug.WriteLine("Projected " + e.GetType().Name); return(Task.FromResult(0)); }
private void Apply(ItemAddedToShoppingCart @event) { _count++; }
public void Handle(ItemAddedToShoppingCart message) { InMemoryDatabase.ShoppingCart[message.Id].Items++; }