diff --git a/src/activities/Elsa.Activities.File/Activities/DeleteFile/DeleteFile.cs b/src/activities/Elsa.Activities.File/Activities/DeleteFile/DeleteFile.cs index e6515fa81..5858d71dd 100644 --- a/src/activities/Elsa.Activities.File/Activities/DeleteFile/DeleteFile.cs +++ b/src/activities/Elsa.Activities.File/Activities/DeleteFile/DeleteFile.cs @@ -12,7 +12,7 @@ namespace Elsa.Activities.File public class DeleteFile : Activity { [ActivityInput(Hint = "Path of the file to delete.")] - public string Path { get; set; } + public string Path { get; set; } = default!; protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context) { diff --git a/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs b/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs index c7cb7155b..414ae1748 100644 --- a/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs +++ b/src/activities/Elsa.Activities.File/Activities/EnumeratreFiles/EnumerateFiles.cs @@ -14,10 +14,10 @@ namespace Elsa.Activities.File public class EnumerateFiles : Activity { [ActivityInput(Hint = "Path of the folder to enumerate files.")] - public string Path { get; set; } + public string Path { get; set; } = default!; [ActivityInput(Hint = "Pattern for files to return.")] - public string Pattern { get; set; } + public string? Pattern { get; set; } [ActivityInput(Hint = "Ignore inaccessible files.", Label = "Ignore Inaccessible")] public bool IgnoreInaccessible { get; set; } = true; @@ -29,12 +29,12 @@ namespace Elsa.Activities.File public bool SubDirectories { get; set; } = false; [ActivityOutput(Hint = "List of files.")] - public IEnumerable Files { get; set; } + public IEnumerable? Files { get; set; } protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context) { if (string.IsNullOrWhiteSpace(Pattern)) - return Done(Directory.EnumerateFiles(Path)); + return Done(Directory.EnumerateFiles(Path!)); var options = new EnumerationOptions() { diff --git a/src/activities/Elsa.Activities.File/Activities/FileExists/FileExists.cs b/src/activities/Elsa.Activities.File/Activities/FileExists/FileExists.cs index 18d10499d..f9ccc880d 100644 --- a/src/activities/Elsa.Activities.File/Activities/FileExists/FileExists.cs +++ b/src/activities/Elsa.Activities.File/Activities/FileExists/FileExists.cs @@ -12,7 +12,7 @@ namespace Elsa.Activities.File public class FileExists : Activity { [ActivityInput(Hint = "Path of the file to delete.")] - public string Path { get; set; } + public string Path { get; set; } = default!; protected override IActivityExecutionResult OnExecute(ActivityExecutionContext context) { diff --git a/src/activities/Elsa.Activities.File/Activities/FileExists/FileExistsBuilderExtensions.cs b/src/activities/Elsa.Activities.File/Activities/FileExists/FileExistsBuilderExtensions.cs index 704dfda95..b5f430586 100644 --- a/src/activities/Elsa.Activities.File/Activities/FileExists/FileExistsBuilderExtensions.cs +++ b/src/activities/Elsa.Activities.File/Activities/FileExists/FileExistsBuilderExtensions.cs @@ -12,25 +12,25 @@ namespace Elsa.Activities.File { public static IActivityBuilder FileExists(this IActivityBuilder builder, Action> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile); - public static IActivityBuilder FileExists(this IActivityBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder FileExists(this IActivityBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.FileExists(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); - public static IActivityBuilder FileExists(this IActivityBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder FileExists(this IActivityBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.FileExists(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); - public static IActivityBuilder FileExists(this IActivityBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder FileExists(this IActivityBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.FileExists(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); - public static IActivityBuilder FileExists(this IActivityBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder FileExists(this IActivityBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.FileExists(activity => activity .Set(x => x.Path, path), lineNumber, diff --git a/src/activities/Elsa.Activities.File/Activities/OutFile/OutFile.cs b/src/activities/Elsa.Activities.File/Activities/OutFile/OutFile.cs index d8b672731..66987e3b2 100644 --- a/src/activities/Elsa.Activities.File/Activities/OutFile/OutFile.cs +++ b/src/activities/Elsa.Activities.File/Activities/OutFile/OutFile.cs @@ -17,10 +17,10 @@ namespace Elsa.Activities.File public class OutFile : Activity { [ActivityInput(Hint = "Bytes to write to file.", SupportedSyntaxes = new[] { SyntaxNames.JavaScript }, DefaultSyntax = SyntaxNames.JavaScript)] - public byte[] Bytes { get; set; } + public byte[] Bytes { get; set; } = default!; [ActivityInput(Hint = "Path to create file at.", UIHint = ActivityInputUIHints.SingleLine, SupportedSyntaxes = new[] { SyntaxNames.JavaScript, SyntaxNames.Liquid })] - public string Path { get; set; } + public string Path { get; set; } = default!; [ActivityInput(Hint = "How the output file should be written to.", UIHint = ActivityInputUIHints.Dropdown)] public CopyMode Mode { get; set; } = CopyMode.CreateNew; diff --git a/src/activities/Elsa.Activities.File/Activities/OutFile/OutFileBuilderExtensions.cs b/src/activities/Elsa.Activities.File/Activities/OutFile/OutFileBuilderExtensions.cs index 981aea9e6..844b29082 100644 --- a/src/activities/Elsa.Activities.File/Activities/OutFile/OutFileBuilderExtensions.cs +++ b/src/activities/Elsa.Activities.File/Activities/OutFile/OutFileBuilderExtensions.cs @@ -12,7 +12,7 @@ namespace Elsa.Activities.File { public static IActivityBuilder OutFile(this IBuilder builder, Action> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile); - public static IActivityBuilder OutFile(this IBuilder builder, Func bytes, Func path, Func mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder OutFile(this IBuilder builder, Func bytes, Func path, Func mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Bytes, bytes) .Set(x => x.Path, path) @@ -20,7 +20,7 @@ namespace Elsa.Activities.File lineNumber, sourceFile); - public static IActivityBuilder OutFile(this IBuilder builder, Func> bytes, Func> path, Func> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder OutFile(this IBuilder builder, Func> bytes, Func> path, Func> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Bytes, bytes) .Set(x => x.Path, path) @@ -28,7 +28,7 @@ namespace Elsa.Activities.File lineNumber, sourceFile); - public static IActivityBuilder OutFile(this IBuilder builder, Func bytes, Func path, Func mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder OutFile(this IBuilder builder, Func bytes, Func path, Func mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Bytes, bytes) .Set(x => x.Path, path) @@ -36,7 +36,7 @@ namespace Elsa.Activities.File lineNumber, sourceFile); - public static IActivityBuilder OutFile(this IBuilder builder, Func> bytes, Func> path, Func> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder OutFile(this IBuilder builder, Func> bytes, Func> path, Func> mode, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Bytes, bytes) .Set(x => x.Path, path) diff --git a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs index b4dd4ef3a..3a7a145bf 100644 --- a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs +++ b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFile.cs @@ -6,6 +6,7 @@ using Elsa.Services; using Elsa.Services.Models; using System.Threading.Tasks; +// ReSharper disable once CheckNamespace namespace Elsa.Activities.File { [Action(Category = "File", @@ -14,14 +15,14 @@ namespace Elsa.Activities.File public class ReadFile : Activity { [ActivityInput(Hint = "Path to read content from.", UIHint = ActivityInputUIHints.SingleLine, SupportedSyntaxes = new[] { SyntaxNames.JavaScript, SyntaxNames.Liquid })] - public string Path { get; set; } + public string Path { get; set; } = default!; [ActivityOutput(Hint = "Bytes of the file read.")] - public byte[] Bytes { get; set; } + public byte[]? Bytes { get; set; } - public async override ValueTask ExecuteAsync(ActivityExecutionContext context) + public override async ValueTask ExecuteAsync(ActivityExecutionContext context) { - var Bytes = await System.IO.File.ReadAllBytesAsync(Path); + Bytes = await System.IO.File.ReadAllBytesAsync(Path); return Done(); } } diff --git a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileBuilderExtensions.cs b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileBuilderExtensions.cs index 91a6db3cd..c6f7bfc40 100644 --- a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileBuilderExtensions.cs +++ b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileBuilderExtensions.cs @@ -4,40 +4,42 @@ using System; using System.Runtime.CompilerServices; using System.Threading.Tasks; +// ReSharper disable ExplicitCallerInfoArgument +// ReSharper disable once CheckNamespace namespace Elsa.Activities.File { public static class ReadFileBuilderExtensions { public static IActivityBuilder ReadFile(this IBuilder builder, Action> setup, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.Then(setup, null, lineNumber, sourceFile); - public static IActivityBuilder ReadFile(this IBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => - builder.OutFile(activity => activity - .Set(x => x.Path, path), - lineNumber, - sourceFile); - - public static IActivityBuilder ReadFile(this IBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder ReadFile(this IBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); - public static IActivityBuilder ReadFile(this IBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder ReadFile(this IBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); - public static IActivityBuilder ReadFile(this IBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder ReadFile(this IBuilder builder, Func path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); - public static IActivityBuilder ReadFile(this IBuilder builder, string path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + public static IActivityBuilder ReadFile(this IBuilder builder, Func> path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => + builder.OutFile(activity => activity + .Set(x => x.Path, path), + lineNumber, + sourceFile); + + public static IActivityBuilder ReadFile(this IBuilder builder, string? path, [CallerLineNumber] int lineNumber = default, [CallerFilePath] string? sourceFile = default) => builder.OutFile(activity => activity .Set(x => x.Path, path), lineNumber, sourceFile); } -} +} \ No newline at end of file diff --git a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileExtensions.cs b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileExtensions.cs index e0a30ec7b..cd65e000e 100644 --- a/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileExtensions.cs +++ b/src/activities/Elsa.Activities.File/Activities/ReadFile/ReadFileExtensions.cs @@ -3,14 +3,15 @@ using Elsa.Services.Models; using System; using System.Threading.Tasks; +// ReSharper disable once CheckNamespace namespace Elsa.Activities.File { public static class ReadFileExtensions { - public static ISetupActivity WithPath(this ISetupActivity setup, Func> path) => setup.Set(x => x.Path, path); - public static ISetupActivity WithPath(this ISetupActivity setup, Func path) => setup.Set(x => x.Path, path); - public static ISetupActivity WithPath(this ISetupActivity setup, Func> path) => setup.Set(x => x.Path, path); - public static ISetupActivity WithPath(this ISetupActivity setup, Func path) => setup.Set(x => x.Path, path); - public static ISetupActivity WithPath(this ISetupActivity setup, string path) => setup.Set(x => x.Path, path); + public static ISetupActivity WithPath(this ISetupActivity setup, Func> path) => setup.Set(x => x.Path, path); + public static ISetupActivity WithPath(this ISetupActivity setup, Func path) => setup.Set(x => x.Path, path); + public static ISetupActivity WithPath(this ISetupActivity setup, Func> path) => setup.Set(x => x.Path, path); + public static ISetupActivity WithPath(this ISetupActivity setup, Func path) => setup.Set(x => x.Path, path); + public static ISetupActivity WithPath(this ISetupActivity setup, string? path) => setup.Set(x => x.Path, path); } } \ No newline at end of file diff --git a/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs index a2aea9a3c..00c2bbd3c 100644 --- a/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs +++ b/src/activities/Elsa.Activities.File/Activities/TempFile/TempFile.cs @@ -2,6 +2,7 @@ using Elsa.ActivityResults; using Elsa.Attributes; using Elsa.Services; +// ReSharper disable once CheckNamespace namespace Elsa.Activities.File { [Action(Category = "File", @@ -10,7 +11,7 @@ namespace Elsa.Activities.File public class TempFile : Activity { [ActivityOutput(Hint = "Path of the created temporary file.")] - public string Path { get; set; } + public string Path { get; set; } = default!; protected override IActivityExecutionResult OnExecute() { diff --git a/src/activities/Elsa.Activities.File/Models/FileSystemChanged.cs b/src/activities/Elsa.Activities.File/Models/FileSystemChanged.cs index bbe202466..37d1ab4c9 100644 --- a/src/activities/Elsa.Activities.File/Models/FileSystemChanged.cs +++ b/src/activities/Elsa.Activities.File/Models/FileSystemChanged.cs @@ -6,7 +6,8 @@ namespace Elsa.Activities.File.Models public class FileSystemChanged { public FileSystemChanged() - { } + { + } public FileSystemChanged(WatcherChangeTypes changeType, string directory, string fileName, string fullPath) { @@ -19,14 +20,12 @@ namespace Elsa.Activities.File.Models public WatcherChangeTypes ChangeType { get; set; } - public string Directory { get; set; } + public string Directory { get; set; } = default!; - public string FileName { get; set; } + public string FileName { get; set; } = default!; - public string FullPath { get; set; } + public string FullPath { get; set; } = default!; - public string Pattern { get; set; } - - public DateTime TimeStamp { get; set; } + public DateTime TimeStamp { get; set; } = default!; } -} +} \ No newline at end of file