public async Task NoeApprovedAsync(int noeId, Guid sagaId, int flag) { log.InfoFormat("NoeApproved - noeId {0}, flag {1}", noeId, flag); var message = new NoeApproveResponse() { NoeId = noeId, SagaId = sagaId, NoeApproved = (flag == 0 ? false : true) }; //StartupAsync(); var options = new SendOptions(); options.SetDestination(Constants.ZSUS_NOE_SAGA_ENDPOINT); await endpointInstance.Send(message, options).ConfigureAwait(false); //ShutdownAsync(); }
public async Task Handle(NoeApproveResponse message, IMessageHandlerContext context) { if (message.NoeApproved) { log.InfoFormat("Recieved NoeApproveResponse, NoeApproved flag TRUE, sending NoeNegotiationRequest for {0} ({1})", message.NoeId, message.SagaId); Data.NoeApproved = message.NoeApproved; var request = new NoeNegotiationRequest(message); var options = new SendOptions(); options.SetDestination(Constants.ZSUS_NOE_NEGOTIATION_REQUEST_ENDPOINT); await context.Send(request, options).ConfigureAwait(false); } else { log.InfoFormat("Recieved NoeApproveResponse, NoeApproved flag FALSE for {0} ({1}), sending NoeResponse", message.NoeId, message.SagaId); Data.NoeApproved = message.NoeApproved; var request = new NoeResponse(message); request.Status = Constants.ZSUS_SAGA_MARKED_COMPLETE; var options = new SendOptions(); options.SetDestination(Constants.ZSUS_NOE_RESPONSE_ENDPOINT); await context.Send(request, options).ConfigureAwait(false); } }