public void ApplyExecutionResponse(ExecuteProcessing.Response response) { VerifyDataChange(AwesomeProcessDataStates.Processing); if (response.Success) { State = AwesomeProcessDataStates.Done; } else { State = AwesomeProcessDataStates.Failed; Message = response.Message; } }
// 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); }