diff --git a/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs b/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs index d892b2ee9..d4ae4fac7 100644 --- a/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs +++ b/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs @@ -31,6 +31,9 @@ namespace Elsa.Activities.File [ActivityInput(Hint = "Return files from sub directories", Label = "Sub Directories")] public bool SubDirectories { get; set; } = false; + [ActivityOutput(Hint = "List of files.")] + public IEnumerable Files { get; set; } + protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context) { if (string.IsNullOrWhiteSpace(Pattern)) @@ -42,7 +45,8 @@ namespace Elsa.Activities.File MatchCasing = MatchCasing, RecurseSubdirectories = SubDirectories }; - return Done(Directory.EnumerateFiles(Path, Pattern, options)); + Files = Directory.EnumerateFiles(Path, Pattern, options); + return Done(); } } } diff --git a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs index 9abdc30f6..a8af5019b 100644 --- a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs +++ b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs @@ -19,10 +19,13 @@ namespace Elsa.Activities.File [ActivityInput(Hint = "Path to read content from.", UIHint = ActivityInputUIHints.SingleLine, SupportedSyntaxes = new[] { SyntaxNames.JavaScript, SyntaxNames.Liquid })] public string Path { get; set; } + [ActivityOutput(Hint = "Bytes of the file read.")] + public byte[] Bytes { get; set; } + public async override ValueTask ExecuteAsync(ActivityExecutionContext context) { - var data = await System.IO.File.ReadAllBytesAsync(Path); - return Done(data); + var Bytes = await System.IO.File.ReadAllBytesAsync(Path); + return Done(); } } } diff --git a/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs index 011df3d6d..6b5f4cb9e 100644 --- a/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs +++ b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs @@ -13,9 +13,13 @@ namespace Elsa.Activities.File Outcomes = new[] { OutcomeNames.Done })] public class TempFile : Activity { + [ActivityOutput(Hint = "Path of the created temporary file.")] + public string Path { get; set; } + protected override IActivityExecutionResult OnExecute() { - return Done(Path.GetTempFileName()); + Path = System.IO.Path.GetTempFileName(); + return Done(); } } } diff --git a/src/samples/console/Elsa.Samples.ReadLineToFile/ReadLineToFileWorkflow.cs b/src/samples/console/Elsa.Samples.ReadLineToFile/ReadLineToFileWorkflow.cs index 5f7b176d4..a6ae4e842 100644 --- a/src/samples/console/Elsa.Samples.ReadLineToFile/ReadLineToFileWorkflow.cs +++ b/src/samples/console/Elsa.Samples.ReadLineToFile/ReadLineToFileWorkflow.cs @@ -21,11 +21,14 @@ namespace Elsa.Samples.ReadLineToFile .WithName("TempFile") .OutFile(setup => { - setup.WithBytes(context => System.Text.Encoding.UTF8.GetBytes(context.GetOutputFrom("ReadLine"))); - setup.WithPath(context => context.GetOutputFrom("TempFile")); + setup.WithBytes(async context => Encoding.UTF8.GetBytes(await context.GetNamedActivityPropertyAsync("ReadLine", x => x.Output))); + setup.WithPath(async context => await context.GetNamedActivityPropertyAsync("TempFile", x => x.Path)); setup.WithMode(CopyMode.Overwrite); }) - .DeleteFile(setup => setup.WithPath(context => context.GetOutputFrom("TempFile"))); + .WriteLine(setup => setup.WithText(async context => await context.GetNamedActivityPropertyAsync("TempFile", x => x.Path))) + .WriteLine("Press any key to continue") + .ReadLine() + .DeleteFile(setup => setup.WithPath(async context => await context.GetNamedActivityPropertyAsync("TempFile", x => x.Path))); } } }