Exemple #1
0
        public void after_foodCooked_then_priceOrder()
        {
            // given
            var d = new FakeDispatcher();
            var m = new Runner(d);
            var o = new Order {
                OrderId = Guid.NewGuid()
            };

            // when
            var inputEvent = new FoodCooked {
                Order = o
            };

            m.Handle(inputEvent);

            // then
            Assert.Single(d.Messages);

            Assert.IsType <PriceOrder>(d.Messages[0]);

            var x0 = d.Messages[0] as PriceOrder;

            Assert.Equal(o.OrderId, x0.Order.OrderId);
            Assert.Equal(inputEvent.CorrelationId, x0.CorrelationId);
            Assert.Equal(inputEvent.MessageId, x0.ParentId);
        }
Exemple #2
0
 public void Handle(FoodCooked m)
 {
     Apply(m);
     _dispatcher.Publish(new PriceOrder(m)
     {
         Order = m.Order
     });
 }
Exemple #3
0
 public void Handle(FoodCooked m)
 {
     Apply(m);
     _dispatcher.Publish(new PrintOrder(m)
     {
         Order = m.Order
     });
     _dispatcher.Publish(new OrderCompleted(m)
     {
         Order   = m.Order,
         Success = true,
         Retried = _calledback
     });
 }
        public void Handle(FoodCooked message)
        {
            if (message == null)
            {
                return;
            }
            _publisher.Publish(new CQRS_restaurant.SpikeOrder()
            {
                CorrelationId = message.CorrelationId,
                CausationId   = message.EventId,
                Order         = message.Order
            });

            _publisher.UnSubscribe(message.CorrelationId);
        }
Exemple #5
0
        public void Handle(FoodCooked message)
        {
            if (message == null)
            {
                return;
            }

            _cooked = true;

            _publisher.Publish(new PriceOrder()
            {
                CorrelationId = message.CorrelationId,
                CausationId   = message.EventId,
                Order         = message.Order
            });
        }
Exemple #6
0
        public void Handle(CookFood message)
        {
            var order = message.Order.SetIngredients("bread,meat");

            Console.WriteLine(_name + " is cooking...");
            Thread.Sleep(_delayMillisecond);


            var @event = new FoodCooked {
                Order = order
            };

            @event.CorrelationId = message.CorrelationId;
            @event.CausationId   = message.Id;

            _bus.Publish(@event);
        }
Exemple #7
0
        public void after_second_attempt_succeeded_then_price_order()
        {
            // given
            var d = new FakeDispatcher();
            var m = new Runner(d);
            var o = new Order {
                OrderId = Guid.NewGuid()
            };

            m.Handle(new OrderPlaced {
                Order = o
            });
            var cookFoodCallback1 = (d.Messages[1] as Callback).Payload as CookFoodCalledBack;

            d.Clear();

            m.Handle(cookFoodCallback1);
            var cookFoodCallback2 = (d.Messages[1] as Callback).Payload as CookFoodCalledBack;

            d.Clear();


            // when
            var inputEvent = new FoodCooked {
                Order = o
            };

            m.Handle(inputEvent);

            // then
            Assert.Single(d.Messages);

            Assert.IsType <PriceOrder>(d.Messages[0]);

            var x0 = d.Messages[0] as PriceOrder;

            Assert.Equal(o.OrderId, x0.Order.OrderId);
            Assert.Equal(inputEvent.CorrelationId, x0.CorrelationId);
            Assert.Equal(inputEvent.MessageId, x0.ParentId);
        }
Exemple #8
0
 private void Apply(FoodCooked e)
 {
     _cooked = true;
 }