public IHttpActionResult Post(SendAcknowledgementCommand sendAcknowledgementCommand)
        {
            //write to db syncronously - async will not guarentee
            AcknowledgeCorrelatedMessages(sendAcknowledgementCommand);

            //using a different event here as the subscriber is already subscribing to the one above
            bus.Send(
                new CompleteAgreementSagaCommand()
            {
                CorrelationId =
                    sendAcknowledgementCommand.CorrelationId
            });

            return(Ok());
        }
Пример #2
0
        public IHttpActionResult Post(SendAcknowledgementCommand sendAcknowledgementCommand)
        {
            if (!sendAcknowledgementCommand.Success)
            {
                Console.WriteLine("received remote acknowledgment of failed insert. Log and send email");
                return(Ok());
            }

            //write to db syncronously - async will not guarentee
            completionService.CompleteCorrelatedMessages(sendAcknowledgementCommand.CorrelationId);

            //using a command as it is in a web thread
            bus.Send(new CompleteAgreementSagaCommand {
                CorrelationId = sendAcknowledgementCommand.CorrelationId
            });

            return(Ok());
        }