using Elsa.Extensions; using Elsa.Samples.ConsoleApp.Composition.Models; using Elsa.Workflows; using Elsa.Workflows.Activities; using Elsa.Workflows.Memory; using Elsa.Workflows.Models; namespace Elsa.Samples.ConsoleApp.Composition.Activities; public class AskDetails : Composite { private readonly Variable _name = new(); private readonly Variable _age = new(); public Input NamePrompt { get; set; } = new("Please tell me your name:"); public Input AgePrompt { get; set; } = new("Please tell me your age:"); public AskDetails() { Variables = new List { _name, _age }; Root = new Sequence { Activities = { new AskName { Prompt = new (context => NamePrompt.Get(context)), Result = new (_name) }, new AskAge { Prompt = new (context => AgePrompt.Get(context)), Result = new (_age) } } }; } protected override void OnCompleted(ActivityCompletedContext context) { var name = _name.Get(context.TargetContext)!; var age = _age.Get(context.TargetContext); var person = new Person(name, age); context.TargetContext.Set(Result, person); } }