Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }