public void Projectors_added_before_Prepare_is_called_are_subscribed_to_all_events() { var onDeliveredCalls = 0; var onEmailAddedCalls = 0; var delivered = new Order.Delivered(); var addressChanged = new CustomerAccount.EmailAddressChanged(); CreateScenarioBuilder() .AddEvents(delivered, addressChanged) .AddHandler(new Projector { OnDelivered = e => { Console.WriteLine(e.ToLogString()); onDeliveredCalls++; }, OnEmailAdded = e => { Console.WriteLine(e.ToLogString()); onEmailAddedCalls++; } }) .Prepare(); onDeliveredCalls.Should().Be(1); onEmailAddedCalls.Should().Be(1); }
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 HaveConsequences(Order.Delivered @event) { onDelivered(@event); }
public void UpdateProjection(Order.Delivered @event) { }