public void SendToNextStep(RoutingSlip routingSlip) { var currentStep = routingSlip.Itinerary.First(); routingSlip.Itinerary.RemoveAt(0); var result = new ProcessingStepResult { Address = currentStep.Address, }; routingSlip.Log.Add(result); var nextStep = routingSlip.Itinerary.FirstOrDefault(); if (nextStep == null) { return; } var json = JsonConvert.SerializeObject(routingSlip); _bus.CurrentMessageContext.Headers[RoutingSlipHeaderKey] = json; _bus.ForwardCurrentMessageTo(nextStep.Address); }
private static Task SendToNextStep(IInvokeHandlerContext context, RoutingSlip routingSlip) { var currentStep = routingSlip.Itinerary.First(); routingSlip.Itinerary.RemoveAt(0); var result = new ProcessingStepResult { Address = currentStep.Address }; routingSlip.Log.Add(result); var nextStep = routingSlip.Itinerary.FirstOrDefault(); if (nextStep == null) { return(Task.FromResult(0)); } var json = Serializer.Serialize(routingSlip); context.Headers[RoutingSlipHeaderKey] = json; return(context.ForwardCurrentMessageTo(nextStep.Address)); }
public void SendToNextStep(Exception ex, RoutingSlip routingSlip) { if (ex != null) return; var currentStep = routingSlip.Itinerary.First(); routingSlip.Itinerary.RemoveAt(0); var result = new ProcessingStepResult { Address = currentStep.Address, }; routingSlip.Log.Add(result); var nextStep = routingSlip.Itinerary.FirstOrDefault(); if (nextStep == null) return; var json = JsonConvert.SerializeObject(routingSlip); _bus.CurrentMessageContext.Headers[RoutingSlipHeaderKey] = json; _bus.ForwardCurrentMessageTo(nextStep.Address); }
public void RecordStep() { var currentStep = Itinerary.First(); Itinerary.RemoveAt(0); var result = new ProcessingStepResult { Address = currentStep.Address }; Log.Add(result); }