public void UpdateProjection(Order.Delivered @event) { using (var db = new OrderHistoryDbContext()) { var entry = db.Orders.Single(o => o.OrderId == @event.AggregateId); entry.DeliveredOn = new DateTime(@event.Timestamp.Ticks); db.SaveChanges(); } }
public void UpdateProjection(Order.Placed @event) { using (var db = new OrderHistoryDbContext()) { var entry = new OrderHistoryEntry { CustomerId = @event.CustomerId, OrderId = @event.AggregateId, OrderNumber = @event.OrderNumber, TotalPrice = @event.TotalPrice, Items = new List <OrderHistoryItem>(@event.Items.Select(i => new OrderHistoryItem { Id = Guid.NewGuid(), Price = i.Price, ProductName = i.ProductName, Quantity = i.Quantity })), PlacedOn = new DateTime(@event.Timestamp.Ticks) }; db.Orders.AddOrUpdate(entry); db.SaveChanges(); } }