public void Setup() { saga = new BookingChangePolicy { Data = new BookingChangePolicyData() }; context = new TestableMessageHandlerContext(); bookedFlightWasChanged = new BookedFlightWasChanged { BookingReferenceId = bookingReferenceId, FlightNumber = "UA890", ReasonForChange = "Aircraft type was changed from Boeing 787 to Boeing 777" }; }
public async Task Handle(BookedFlightWasChanged message, IMessageHandlerContext context) { Data.IsFlightChanged = true; Data.BookingReferenceId = message.BookingReferenceId; if (Data.CanCompleteSaga()) { MarkAsComplete(); return; } await context.Send( new NotifyCustomerAboutFlightChange { BookingReferenceId = message.BookingReferenceId, ReasonForChange = message.ReasonForChange }) .ConfigureAwait(false); await RequestTimeout(context, TimeSpan.FromSeconds(15), new CancellationGracePeriodElapsed()).ConfigureAwait(false); }