internal async Task Save(SagaStateLog sagaLogStateAction)
        {
            using var context = _serviceProvider.GetRequiredService <SagaContext>();
            await context.LogStateAction.AddAsync(sagaLogStateAction);

            await context.SaveChangesAsync();
        }
예제 #2
0
        private async Task UpdateState(
            SagaState sagaState,
            State initialState,
            State newState,
            SagaAction sagaActions)
        {
            sagaState.ExtendedData = JsonConvert.SerializeObject(newState.Value);
            await stateDAO.Update(sagaState);

            var sagaLog = new SagaStateLog
            {
                InitialState = JsonConvert.SerializeObject(initialState.Value),
                FinshedState = JsonConvert.SerializeObject(newState.Value),
                SagaId       = sagaState.SagaInfoId,
                ActionId     = sagaActions.Id
            };

            await actionLogStateDAO.Save(sagaLog);
        }