Esempio n. 1
0
        public void ApplyPreparationResponse(PrepareProcessing.Response response)
        {
            VerifyDataChange(AwesomeProcessDataStates.Preparing);

            PreparationId = response.PreparationId;
            if (response.Success)
            {
                State = AwesomeProcessDataStates.Processing;
            }
            else
            {
                State   = AwesomeProcessDataStates.Failed;
                Message = response.Message;
            }
        }
Esempio n. 2
0
        // STEP 2
        public async Task Handle(PrepareProcessing.Response message, IMessageHandlerContext context)
        {
            Data.ApplyPreparationResponse(message);
            switch (Data.State)
            {
            case AwesomeProcessDataStates.Processing:
                // Event notification?
                await context.Publish(Data.CreatePreparationEvent()).ConfigureAwait(false);

                await context.SendLocal(Data.CreateExecution()).ConfigureAwait(false);

                break;
            }

            await TryFinalizeSaga().ConfigureAwait(false);
        }