2022-12-28 12:59:46 +00:00
|
|
|
|
using Elsa.Extensions;
|
2023-06-08 10:01:26 +00:00
|
|
|
|
using Elsa.Samples.ConsoleApp.WorkflowFunctions.Workflows;
|
2022-12-28 12:59:46 +00:00
|
|
|
|
using Elsa.Samples.WorkflowFunctions.Workflows;
|
2023-03-03 21:47:23 +00:00
|
|
|
|
using Elsa.Workflows.Core.Contracts;
|
2022-12-28 12:59:46 +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 workflows.
|
|
|
|
|
|
var workflowRunner = serviceProvider.GetRequiredService<IWorkflowRunner>();
|
|
|
|
|
|
|
|
|
|
|
|
// AddWorkflow.
|
|
|
|
|
|
Console.WriteLine("=== AddWorkflow ===");
|
|
|
|
|
|
var addWorkflow = new AddWorkflow(4.4f, 5.6f);
|
|
|
|
|
|
|
|
|
|
|
|
// Run the workflow.
|
|
|
|
|
|
var result1 = await workflowRunner.RunAsync(addWorkflow);
|
|
|
|
|
|
|
|
|
|
|
|
Console.WriteLine("Result: {0}", result1.Result);
|
|
|
|
|
|
|
|
|
|
|
|
// AddInputsWorkflow:
|
|
|
|
|
|
Console.WriteLine("=== AddInputsWorkflow ===");
|
|
|
|
|
|
var input = new { a = 5.6, b = 9.4 }.ToDictionary();
|
2023-04-21 22:02:02 +00:00
|
|
|
|
var result2 = await workflowRunner.RunAsync<AddInputsWorkflow, float>(new RunWorkflowOptions(input: input));
|
2022-12-28 12:59:46 +00:00
|
|
|
|
Console.WriteLine("Result: {0}", result2);
|
|
|
|
|
|
|
|
|
|
|
|
// SumInputsWorkflow:
|
|
|
|
|
|
Console.WriteLine("=== SumInputsWorkflow ===");
|
|
|
|
|
|
input = new { numbers = new[]{ 9.6f, 2.5f, 1.2f, 4.8f } }.ToDictionary();
|
2023-04-21 22:02:02 +00:00
|
|
|
|
var result3 = await workflowRunner.RunAsync<SumInputsWorkflow, float>(new RunWorkflowOptions(input: input));
|
2022-12-28 12:59:46 +00:00
|
|
|
|
Console.WriteLine("Result: {0}", result3);
|