diff --git a/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs new file mode 100644 index 000000000..011df3d6d --- /dev/null +++ b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs @@ -0,0 +1,21 @@ +using Elsa.ActivityResults; +using Elsa.Attributes; +using Elsa.Services; +using System; +using System.Collections.Generic; +using System.IO; +using System.Text; + +namespace Elsa.Activities.File +{ + [Action(Category = "File", + Description = "Created a temporary file and returns its path", + Outcomes = new[] { OutcomeNames.Done })] + public class TempFile : Activity + { + protected override IActivityExecutionResult OnExecute() + { + return Done(Path.GetTempFileName()); + } + } +} diff --git a/src/activities/Elsa.Activities.File/Activities/TempFile/TempFileBuilderExtensions.cs b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFileBuilderExtensions.cs new file mode 100644 index 000000000..ee482588e --- /dev/null +++ b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFileBuilderExtensions.cs @@ -0,0 +1,13 @@ +using Elsa.Builders; +using System; +using System.Collections.Generic; +using System.Runtime.CompilerServices; +using System.Text; + +namespace Elsa.Activities.File +{ + public static class TempFileBuilderExtensions + { + public static IActivityBuilder TempFile(this IBuilder builder, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(null, lineNumber, sourceFile); + } +}