elsa-core/samples/Sample12/UserTaskWorkflow.cs

37 lines
1.6 KiB
C#
Raw Normal View History

2019-07-25 16:10:17 +00:00
using Elsa.Activities.Console.Activities;
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
2019-09-17 14:32:09 +00:00
.StartWith<WriteLine>(activity => activity.TextExpression = new LiteralExpression("Workflow started. Waiting for user action."))
2019-07-25 16:10:17 +00:00
.Then<UserTask>(
activity => activity.Actions = new[] { "Accept", "Reject", "Needs Work" },
userTask =>
{
userTask
.When("Accept")
2019-09-17 14:32:09 +00:00
.Then<WriteLine>(activity => activity.TextExpression = new LiteralExpression("Great! Your work has been accepted."))
2019-07-25 16:10:17 +00:00
.Then("Exit");
userTask.When("Reject")
2019-09-17 14:32:09 +00:00
.Then<WriteLine>(activity => activity.TextExpression = new LiteralExpression("Sorry! Your work has been rejected."))
2019-07-25 16:10:17 +00:00
.Then("Exit");
userTask.When("Needs Work")
2019-09-17 14:32:09 +00:00
.Then<WriteLine>(activity => activity.TextExpression = new LiteralExpression("So close! Your work needs a little bit more work."))
2019-07-25 16:10:17 +00:00
.Then("WaitUser");
},
"WaitUser"
)
2019-09-17 14:32:09 +00:00
.Add<WriteLine>(activity => activity.TextExpression = new LiteralExpression("Workflow finished."), "Exit");
2019-07-25 16:10:17 +00:00
}
}
}