public IPipeElement <PipeContext, TInput, TReturn> StartWithActivity <TInput, TReturn>(
            TInput input,
            IAsyncActivityStepProvider <TInput, TReturn> provider)
        {
            var context = new PipeContext(_serviceProvider);

            return(new StartElement <PipeContext, TInput, TReturn>(context, input, provider));
        }
Exemplo n.º 2
0
        public static async Task <TReturn> CompleteWithAsync <TInput, TInputForNextStep, TReturn>(
            this IPipeElement <PipeContext, TInput, TInputForNextStep> element,
            IAsyncActivityStepProvider <TInputForNextStep?, TReturn> provider)
        {
            var finalStep = new FinalElement <PipeContext, TInputForNextStep, TReturn>(
                element.Context,
                element.PreviousElements.Append(element),
                provider);

            return(await finalStep.CompletePipeAsync());
        }