コード例 #1
0
 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();
     }
 }
コード例 #2
0
 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();
     }
 }