Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
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();
     }
 }
Exemplo n.º 3
0
 public void HaveConsequences(Order.Delivered @event)
 {
     onDelivered(@event);
 }
Exemplo n.º 4
0
 public void UpdateProjection(Order.Delivered @event)
 {
 }