Added DeleteFile activity

This commit is contained in:
Cameron Cowen 2021-05-03 15:54:32 +01:00
parent ddf4be6e8f
commit d4907e5c8f
3 changed files with 89 additions and 0 deletions

View file

@ -0,0 +1,26 @@
using Elsa.ActivityResults;
using Elsa.Attributes;
using Elsa.Services;
using Elsa.Services.Models;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace Elsa.Activities.File
{
[Action(Category = "File",
Description = "Deletes file at specified location",
Outcomes = new[] { OutcomeNames.Done })]
public class DeleteFile : Activity
{
[ActivityProperty(Hint = "Path of the file to delete.")]
public string Path { get; set; }
protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context)
{
System.IO.File.Delete(Path);
return Done();
}
}
}

View file

@ -0,0 +1,45 @@
using Elsa.Builders;
using Elsa.Services.Models;
using System;
using System.Collections.Generic;
using System.Runtime.CompilerServices;
using System.Text;
using System.Threading.Tasks;
namespace Elsa.Activities.File
{
public static class DeleteFileBuilderExtensions
{
public static IActivityBuilder DeleteFile(this IActivityBuilder builder, Action<ISetupActivity<DeleteFile>> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile);
public static IActivityBuilder DeleteFile(this IActivityBuilder builder, Func<ActivityExecutionContext, string> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
builder.DeleteFile(activity => activity
.Set(x => x.Path, path),
lineNumber,
sourceFile);
public static IActivityBuilder DeleteFile(this IActivityBuilder builder, Func<ActivityExecutionContext, ValueTask<string>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
builder.DeleteFile(activity => activity
.Set(x => x.Path, path),
lineNumber,
sourceFile);
public static IActivityBuilder DeleteFile(this IActivityBuilder builder, Func<string> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
builder.DeleteFile(activity => activity
.Set(x => x.Path, path),
lineNumber,
sourceFile);
public static IActivityBuilder DeleteFile(this IActivityBuilder builder, Func<ValueTask<string>> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
builder.DeleteFile(activity => activity
.Set(x => x.Path, path),
lineNumber,
sourceFile);
public static IActivityBuilder DeleteFile(this IActivityBuilder builder, string path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) =>
builder.DeleteFile(activity => activity
.Set(x => x.Path, path),
lineNumber,
sourceFile);
}
}

View file

@ -0,0 +1,18 @@
using Elsa.Builders;
using Elsa.Services.Models;
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
namespace Elsa.Activities.File
{
public static class DeleteFileExtensions
{
public static ISetupActivity<DeleteFile> WithPath(this ISetupActivity<DeleteFile> setup, Func<ActivityExecutionContext, ValueTask<string>> path) => setup.Set(x => x.Path, path);
public static ISetupActivity<DeleteFile> WithPath(this ISetupActivity<DeleteFile> setup, Func<ActivityExecutionContext, string> path) => setup.Set(x => x.Path, path);
public static ISetupActivity<DeleteFile> WithPath(this ISetupActivity<DeleteFile> setup, Func<ValueTask<string>> path) => setup.Set(x => x.Path, path);
public static ISetupActivity<DeleteFile> WithPath(this ISetupActivity<DeleteFile> setup, Func<string> path) => setup.Set(x => x.Path, path);
public static ISetupActivity<DeleteFile> WithPath(this ISetupActivity<DeleteFile> setup, string path) => setup.Set(x => x.Path, path);
}
}