using Elsa.Activities.Console.Activities; using Elsa.Activities.Primitives; using Elsa.Activities.UserTask.Activities; using Elsa.Expressions; using Elsa.Services; using Elsa.Services.Models; namespace Sample12 { public class UserTaskWorkflow : IWorkflow { public void Build(IWorkflowBuilder builder) { builder .StartWith(activity => activity.TextExpression = new PlainTextExpression("Workflow started. Waiting for user action.")) .Then( activity => activity.Actions = new[] { "Accept", "Reject", "Needs Work" }, userTask => { userTask .When("Accept") .Then(activity => activity.TextExpression = new PlainTextExpression("Great! Your work has been accepted.")) .Then("Exit"); userTask.When("Reject") .Then(activity => activity.TextExpression = new PlainTextExpression("Sorry! Your work has been rejected.")) .Then("Exit"); userTask.When("Needs Work") .Then(activity => activity.TextExpression = new PlainTextExpression("So close! Your work needs a little bit more work.")) .Then("WaitUser"); }, "WaitUser" ) .Add(activity => activity.TextExpression = new PlainTextExpression("Workflow finished."), "Exit"); } } }