Exemple #1
0
        public static IUserTaskBuilder <TData> UserTask <TData, TStepBody>(this IStepBuilder <TData, TStepBody> builder, string userPrompt, Expression <Func <TData, string> > assigner, Action <IStepBuilder <TData, UserTask> > stepSetup = null)
            where TStepBody : IStepBody
        {
            var newStep = new UserTaskStep();

            builder.WorkflowBuilder.AddStep(newStep);
            var stepBuilder = new UserTaskBuilder <TData>(builder.WorkflowBuilder, newStep);

            stepBuilder.Input(step => step.AssignedPrincipal, assigner);
            stepBuilder.Input(step => step.Prompt, data => userPrompt);

            if (stepSetup != null)
            {
                stepSetup.Invoke(stepBuilder);
            }

            newStep.Name = newStep.Name ?? typeof(UserTask).Name;
            builder.Step.Outcomes.Add(new ValueOutcome {
                NextStep = newStep.Id
            });

            return(stepBuilder);
        }
 public UserTaskBuilder(IWorkflowBuilder <TData> workflowBuilder, UserTaskStep step)
     : base(workflowBuilder, step)
 {
     _wrapper = step;
 }