示例#1
0
        public async Task Execute(IEnumerable <ActivityDefinition> activities, ISagaPropertyBag sagaProperties, IErrorTranslator exceptionTranslator)
        {
            _errorTranslator = exceptionTranslator ?? new DefaultErrorTranslator();

            if (State.Status == SagaStatus.NotStarted)
            {
                State.Activities = activities.ToList();
                State.Properties = sagaProperties is null
                    ? new Dictionary <string, string>()
                    : ((SagaPropertyBag)sagaProperties).ContextProperties;
                State.Status = SagaStatus.Executing;
                await WriteStateAsync();
                await RegisterReminderAsync();
            }

            await ResumeAsync();
        }
示例#2
0
 public ISagaBuilder AddErrorTranslator(IErrorTranslator errorTranslator)
 {
     _errorTranslator = errorTranslator;
     return(this);
 }