public Order(Guid id, Guid userId, string number, decimal price) { var @event = new OrderCreated(id, userId, number, price); Enqueue(@event); Apply(@event); }
void Apply(OrderCreated @event) { databaseConnection.Execute( @"UPDATE UserDashboards SET OrdersCount = OrdersCount + 1, TotalAmount = TotalAmount + @Amount WHERE Id = @UserId", @event ); }
private void Apply(OrderCreated @event) { throw new NotImplementedException("TODO"); }
private void Apply(OrderCreated @event) { Id = @event.OrderId; Number = @event.Number; Amount = @event.Amount; }
private void Apply(UserDashboard item, OrderCreated @event) { item.TotalAmount += @event.Amount; item.OrdersCount++; }