Added activity output properties
This commit is contained in:
parent
3e45c4c999
commit
ecafed4b2f
|
|
@ -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<string> 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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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<IActivityExecutionResult> ExecuteAsync(ActivityExecutionContext context)
|
||||
{
|
||||
var data = await System.IO.File.ReadAllBytesAsync(Path);
|
||||
return Done(data);
|
||||
var Bytes = await System.IO.File.ReadAllBytesAsync(Path);
|
||||
return Done();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,11 +21,14 @@ namespace Elsa.Samples.ReadLineToFile
|
|||
.WithName("TempFile")
|
||||
.OutFile(setup =>
|
||||
{
|
||||
setup.WithBytes(context => System.Text.Encoding.UTF8.GetBytes(context.GetOutputFrom<string>("ReadLine")));
|
||||
setup.WithPath(context => context.GetOutputFrom<string>("TempFile"));
|
||||
setup.WithBytes(async context => Encoding.UTF8.GetBytes(await context.GetNamedActivityPropertyAsync<ReadLine, string>("ReadLine", x => x.Output)));
|
||||
setup.WithPath(async context => await context.GetNamedActivityPropertyAsync<TempFile, string>("TempFile", x => x.Path));
|
||||
setup.WithMode(CopyMode.Overwrite);
|
||||
})
|
||||
.DeleteFile(setup => setup.WithPath(context => context.GetOutputFrom<string>("TempFile")));
|
||||
.WriteLine(setup => setup.WithText(async context => await context.GetNamedActivityPropertyAsync<TempFile, string>("TempFile", x => x.Path)))
|
||||
.WriteLine("Press any key to continue")
|
||||
.ReadLine()
|
||||
.DeleteFile(setup => setup.WithPath(async context => await context.GetNamedActivityPropertyAsync<TempFile, string>("TempFile", x => x.Path)));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in a new issue