elsa-core/src/samples/console/Elsa.Samples.ConsoleApp.CustomActivities/Program.cs

43 lines
1.2 KiB
C#
Raw Normal View History

2023-04-21 22:02:02 +00:00
using Elsa.Extensions;
2023-06-08 10:01:26 +00:00
using Elsa.Samples.ConsoleApp.CustomActivities.Activities;
2023-04-21 22:02:02 +00:00
using Elsa.Workflows.Core.Activities;
using Elsa.Workflows.Core.Contracts;
2023-07-09 11:12:13 +00:00
using Elsa.Workflows.Core.Memory;
2023-04-21 22:02:02 +00:00
using Microsoft.Extensions.DependencyInjection;
// Setup service container.
var services = new ServiceCollection();
// Add Elsa services.
services.AddElsa();
// Build service container.
var serviceProvider = services.BuildServiceProvider();
// Resolve a workflow runner to run the workflow.
var workflowRunner = serviceProvider.GetRequiredService<IWorkflowRunner>();
// Create a workflow.
var a = new Variable<int>();
var b = new Variable<int>();
var sum = new Variable<int>();
var workflow = new Workflow
{
Root = new Sequence
{
Variables = {a, b, sum},
Activities =
{
new WriteLine("Enter first value"),
new ReadLine(a),
new WriteLine("Enter second value"),
new ReadLine(b),
new Sum(a, b, sum),
new WriteLine(context => $"The sum of {a.Get(context)} and {b.Get(context)} is {sum.Get(context)}")
}
}
};
// Run the workflow.
await workflowRunner.RunAsync(workflow);