public void ApplyExecutionResponse(ExecuteProcessing.Response response)
        {
            VerifyDataChange(AwesomeProcessDataStates.Processing);

            if (response.Success)
            {
                State = AwesomeProcessDataStates.Done;
            }
            else
            {
                State   = AwesomeProcessDataStates.Failed;
                Message = response.Message;
            }
        }
Exemple #2
0
        // STEP 3
        public async Task Handle(ExecuteProcessing.Response message, IMessageHandlerContext context)
        {
            Data.ApplyExecutionResponse(message);
            switch (Data.State)
            {
            case AwesomeProcessDataStates.Failed:
                // DO SOMETHING!
                break;

            case AwesomeProcessDataStates.Done:
                // Event notification?
                await context.Publish(Data.CreateProcessingEvent()).ConfigureAwait(false);

                break;
            }

            await TryFinalizeSaga().ConfigureAwait(false);
        }