public async Task Compensate(CompensateContext <TArguments> context, IPipe <CompensateActivityContext <TActivity, TArguments> > next)
 {
     using (ICompensateActivityScopeContext <TActivity, TArguments> scope = _scopeProvider.GetScope(context))
     {
         await next.Send(scope.Context).ConfigureAwait(false);
     }
 }
        public async Task <ResultContext <CompensationResult> > Compensate(CompensateContext <TArguments> context,
                                                                           IRequestPipe <CompensateActivityContext <TActivity, TArguments>, CompensationResult> next)
        {
            using (ICompensateActivityScopeContext <TActivity, TArguments> scope = _scopeProvider.GetScope(context))
            {
                if (_log.IsDebugEnabled)
                {
                    _log.DebugFormat("CompensateActivityFactory: Compensating: {0}", TypeMetadataCache <TActivity> .ShortName);
                }

                return(await next.Send(scope.Context).ConfigureAwait(false));
            }
        }
        public async Task Compensate(CompensateContext <TLog> context, IPipe <CompensateActivityContext <TActivity, TLog> > next)
        {
            await using ICompensateActivityScopeContext <TActivity, TLog> scope = await _scopeProvider.GetScope(context).ConfigureAwait(false);

            await next.Send(scope.Context).ConfigureAwait(false);
        }