public CqrsService(ICqrsDictionaryService cqrsDictionaryService, IServiceProvider provider) { CqrsDictionaryService = cqrsDictionaryService; Provider = provider; _instanceCreator = InstanceCreator.GetContext(); }
async Task <object> IBusinessLogicChainStepInvoker.RunBusinessProcessStep(IServiceProvider provider, object previosResult) { using (var instanceCreator = InstanceCreator.GetContext()) { var result = await CreateCurrentBusinessProcessStep(instanceCreator, provider, previosResult) .RunAsync(); PreviosResult = previosResult; return(result); } }
async Task IBusinessLogicChainStepInvoker.CancelBusinessProcessStep(IServiceProvider provider) { if (PreviosResult == null) { return; } using (var instanceCreator = InstanceCreator.GetContext()) { var сancelableStep = CreateCurrentBusinessProcessStep(instanceCreator, provider, PreviosResult) as IBusinessProcessStepCancelable; if (сancelableStep != null) { await сancelableStep.CancelAsync(); } } }