forked from avanpostid/workflow-core
-
Notifications
You must be signed in to change notification settings - Fork 0
/
PassingDataWorkflow.cs
38 lines (34 loc) · 1.24 KB
/
PassingDataWorkflow.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
using System;
using System.Linq;
using WorkflowCore.Interface;
using WorkflowCore.Models;
using WorkflowCore.Sample03.Steps;
namespace WorkflowCore.Sample03
{
public class PassingDataWorkflow : IWorkflow<MyDataClass>
{
public void Build(IWorkflowBuilder<MyDataClass> builder)
{
builder
.StartWith(context =>
{
Console.WriteLine("Starting workflow...");
return ExecutionResult.Next();
})
.Then<AddNumbers>()
.Input(step => step.Input1, data => data.Value1)
.Input(step => step.Input2, data => data.Value2)
.Output(data => data.Value3, step => step.Output)
.Then<CustomMessage>()
.Name("Print custom message")
.Input(step => step.Message, data => "The answer is " + data.Value3.ToString())
.Then(context =>
{
Console.WriteLine("Workflow complete");
return ExecutionResult.Next();
});
}
public string Id => "PassingDataWorkflow";
public int Version => 1;
}
}