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();
                }
            }
        }