コード例 #1
0
        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();
        }
コード例 #2
0
 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);
     }
 }