public void Handle(BookShipping message) { Console.WriteLine("Booking shipping " + message.OrderId); var fedExOrder = new FedExOrder() { OrderId = message.OrderId }; Bus.Send(fedExOrder); RequestUtcTimeout(TimeSpan.FromSeconds(20), fedExOrder); }
public void Timeout(FedExOrder message) { Console.WriteLine("FedEx timeout"); if (!Data.ShipmentBooked) { Console.WriteLine(""); var upsOrder = new UPSOrder() { OrderId = message.OrderId }; Bus.Send(upsOrder); RequestUtcTimeout(TimeSpan.FromSeconds(20), upsOrder); } }
public void Handle(FedExOrder fedExOrder) { if (Data.ShipmentBooked) { Console.WriteLine("Canceling FedEx"); // Bus.Send<CancelFedEx>(y => y.OrderId = fedExOrder.OrderId); } else { Console.WriteLine("FedEx confirmed"); ReplyToOriginator(new ShipmentBooked() { OrderId = fedExOrder.OrderId }); Data.ShipmentBooked = true; } }