예제 #1
0
        public void Handle_FedExTimesOut_SendToUps()
        {
            Test.Initialize();

            var fedExTimeout = new FedExTimeout();
            var shipOrder = new ShipOrder {Order = 1};
            Test.Saga<BookShipmentPolicy>()
                .When(policy => policy.Handle(shipOrder))
                .ExpectSend<ShipWithUps>(m => m.Order == shipOrder.Order)
                .When(saga => saga.Timeout(fedExTimeout));
        }
        public void Handle_FedExTimesOut_SendToUps()
        {
            Test.Initialize();

            var fedExTimeout = new FedExTimeout();
            var shipOrder    = new ShipOrder {
                Order = 1
            };

            Test.Saga <BookShipmentPolicy>()
            .When(policy => policy.Handle(shipOrder))
            .ExpectSend <ShipWithUps>(m => m.Order == shipOrder.Order)
            .When(saga => saga.Timeout(fedExTimeout));
        }
 public void Timeout(FedExTimeout state)
 {
     Console.WriteLine("The FedEx request timedout. Shipping via UPS now.");
     Data.FedExStatus = ShippingStatus.Failed;
     Data.UpsStatus   = ShippingStatus.Attempting;
 }
예제 #4
0
 public void Timeout(FedExTimeout state)
 {
     Bus.Send <ShipWithUps>(m => m.Order = Data.Order);
 }