public IStepBuilder <TData, TStepBody> Branch <TStep>(Expression <Func <TData, object, bool> > outcomeExpression, IStepBuilder <TData, TStep> branch) where TStep : IStepBody { if (branch.WorkflowBuilder.Steps.Count == 0) { return(this); } WorkflowBuilder.AttachBranch(branch.WorkflowBuilder); Step.Outcomes.Add(new ExpressionOutcome <TData>(outcomeExpression) { NextStep = branch.WorkflowBuilder.Steps[0].Id }); return(this); }
public IStepBuilder <TData, TStepBody> Branch <TStep>(object outcomeValue, IStepBuilder <TData, TStep> branch) where TStep : IStepBody { if (branch.WorkflowBuilder.Steps.Count == 0) { return(this); } WorkflowBuilder.AttachBranch(branch.WorkflowBuilder); Expression <Func <object, object> > expr = x => outcomeValue; Step.Outcomes.Add(new ValueOutcome { Value = expr, NextStep = branch.WorkflowBuilder.Steps[0].Id }); return(this); }