elsa-core/src/samples/console/Elsa.Samples.ConsoleApp.Composition/Activities/AskAge.cs

31 lines
804 B
C#
Raw Normal View History

using Elsa.Extensions;
2023-07-09 11:12:13 +00:00
using Elsa.Workflows.Core;
using Elsa.Workflows.Core.Activities;
2023-07-09 11:12:13 +00:00
using Elsa.Workflows.Core.Memory;
using Elsa.Workflows.Core.Models;
public class AskAge : Composite<int>
{
private readonly Variable<string> _age = new();
public Input<string> Prompt { get; set; } = new("Please tell me your age:");
public AskAge()
{
2023-05-16 09:41:41 +00:00
Variables = new List<Variable> { _age };
Root = new Sequence
{
Activities =
{
new WriteLine(context => Prompt.Get(context)),
new ReadLine(_age)
}
};
}
protected override void OnCompleted(ActivityCompletedContext context)
{
var age = _age.Get<int>(context.TargetContext);
context.TargetContext.Set(Result, age);
}
}