public static IAggregatePipelineTaskBuilder <ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>, TContext, TContext> Else <TPipelineTaskBuilder, TParentContext, TContext>( this IAggregatePipelineTaskBuilder <ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>, TContext, TContext> builder) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { var aggBuilder = new AggregatePipelineTaskBuilder <ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>, TContext>(builder.Builder); builder.Builder.FalseTask = aggBuilder; return(builder.Builder.FalseTask); }
/* * public static IAggregatePipelineTaskBuilder<ForEachPipelineTaskBuilder<TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext<TContext, TElement>> BeginPipeline<TPipelineTaskBuilder, TParentContext, TContext, TElement>( * this ForEachPipelineTaskBuilder<TPipelineTaskBuilder, TParentContext, TContext, TElement> builder) * where TPipelineTaskBuilder : IPipelineTaskBuilder<TParentContext> * { * if (!builder.Task.Closed) * { * return builder.Task; * } * * throw new Exception("Cannot begin a pipeline that is already closed"); * } */ public static IAggregatePipelineTaskBuilder <ForEachPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext <TContext, TElement> > BeginPipeline <TPipelineTaskBuilder, TParentContext, TContext, TElement>( this IAggregatePipelineTaskBuilder <ForEachPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext <TContext, TElement> > builder) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { if (!builder.Builder.Task.Closed) { return(builder.Builder.Task); } throw new Exception("Cannot begin a pipeline that is already closed"); }
public static IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> RunAction <TPipelineTaskBuilder, TParentContext, TContext>( this IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> builder, Action <TContext> action) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { var task = new ActionTaskPipelineBuilder <TContext>() { Action = action }; builder.EnqueueTask(task); return(builder); }
/* * public static ForEachPipelineTaskBuilder<TPipelineTaskBuilder, TParentContext, TContext, TElement> ForEach<TPipelineTaskBuilder, TParentContext, TContext, TElement>( * this IAggregatePipelineTaskBuilder<TPipelineTaskBuilder, TParentContext, TContext> builder, * Expression<Func<TContext, IEnumerable<TElement>>> selector) * where TPipelineTaskBuilder : IPipelineTaskBuilder<TParentContext> * { * var task = new ForEachPipelineTaskBuilder<TPipelineTaskBuilder, TParentContext, TContext, TElement>(builder) * { * Selector = selector * }; * * builder.EnqueueTask(task); * * var aggBuilder = new AggregatePipelineNewContextTaskBuilder<ForEachPipelineTaskBuilder<TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext<TContext, TElement>>(task); * task.Task = aggBuilder; * * return task; * } */ public static IAggregatePipelineTaskBuilder <ForEachPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext <TContext, TElement> > ForEach <TPipelineTaskBuilder, TParentContext, TContext, TElement>( this IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> builder, Expression <Func <TContext, IEnumerable <TElement> > > selector) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { var task = new ForEachPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext, TElement>(builder) { Selector = selector }; builder.EnqueueTask(task); task.Task = new AggregatePipelineNewContextTaskBuilder <ForEachPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext <TContext, TElement> >(task); return(task.Task); }
public static IAggregatePipelineTaskBuilder <ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>, TContext, TContext> If <TPipelineTaskBuilder, TParentContext, TContext>( this IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> builder, Expression <Func <TContext, bool> > condition) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { var task = new ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>(builder) { Condition = condition }; builder.EnqueueTask(task); var aggBuilder = new AggregatePipelineTaskBuilder <ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>, TContext>(task); task.TrueTask = aggBuilder; return(task.TrueTask); }
public static IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> EndForEach <TPipelineTaskBuilder, TParentContext, TContext, TElement>( this IAggregatePipelineTaskBuilder <ForEachPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext, TElement>, TContext, IForEachTaskContext <TContext, TElement> > builder) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { return(builder.Builder.Builder); }
public static TPipelineTaskBuilder EndPipeline <TPipelineTaskBuilder, TParentContext, TContext>(this IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> builder) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { builder.Close(); return(builder.Builder); }
public ForEachPipelineTaskBuilder(IAggregatePipelineTaskBuilder <TAggregatePipelineTaskBuilderParent, TParentContext, TContext> builder) { this.Builder = builder; }
public static IAggregatePipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext> EndIf <TPipelineTaskBuilder, TParentContext, TContext>( this IAggregatePipelineTaskBuilder <ConditionalPipelineTaskBuilder <TPipelineTaskBuilder, TParentContext, TContext>, TContext, TContext> builder) where TPipelineTaskBuilder : IPipelineTaskBuilder <TParentContext> { return(builder.Builder.Builder); }
public ConditionalPipelineTaskBuilder(IAggregatePipelineTaskBuilder <TAggregatePipelineTaskBuilderParent, TParentContext, TContext> builder) { Ensure.Arg(builder, nameof(builder)).IsNotNull(); this.Builder = builder; }