From ac511378ecf7f957d44369f8ab80ec1b5c28f3ce Mon Sep 17 00:00:00 2001 From: Cameron Cowen Date: Thu, 2 Sep 2021 22:33:38 +0100 Subject: [PATCH] Added initial file watcher sample project --- Elsa.sln | 7 ++++++ .../Elsa.Samples.WatchDirectoryWorker.csproj | 17 +++++++++++++ .../Program.cs | 25 +++++++++++++++++++ .../Workflows/WatchDirectoryWorkflow.cs | 16 ++++++++++++ 4 files changed, 65 insertions(+) create mode 100644 src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Elsa.Samples.WatchDirectoryWorker.csproj create mode 100644 src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs create mode 100644 src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs diff --git a/Elsa.sln b/Elsa.sln index f12ececaf..9e9efc6db 100644 --- a/Elsa.sln +++ b/Elsa.sln @@ -336,6 +336,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ElsaDashboard.Samples.Blazo EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Elsa.Samples.HttpEndpointSecurity", "src\samples\aspnet\Elsa.Samples.HttpEndpointSecurity\Elsa.Samples.HttpEndpointSecurity.csproj", "{82B115DA-E3D0-49D7-AD08-DE9387656756}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Elsa.Samples.WatchDirectoryWorker", "src\samples\worker\Elsa.Samples.WatchDirectoryWorker\Elsa.Samples.WatchDirectoryWorker.csproj", "{8EC3CF51-EBC1-4B45-881E-4B1B8190D579}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -786,6 +788,10 @@ Global {82B115DA-E3D0-49D7-AD08-DE9387656756}.Debug|Any CPU.Build.0 = Debug|Any CPU {82B115DA-E3D0-49D7-AD08-DE9387656756}.Release|Any CPU.ActiveCfg = Release|Any CPU {82B115DA-E3D0-49D7-AD08-DE9387656756}.Release|Any CPU.Build.0 = Release|Any CPU + {8EC3CF51-EBC1-4B45-881E-4B1B8190D579}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {8EC3CF51-EBC1-4B45-881E-4B1B8190D579}.Debug|Any CPU.Build.0 = Debug|Any CPU + {8EC3CF51-EBC1-4B45-881E-4B1B8190D579}.Release|Any CPU.ActiveCfg = Release|Any CPU + {8EC3CF51-EBC1-4B45-881E-4B1B8190D579}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -934,6 +940,7 @@ Global {DCB3C4DD-2B7D-44E9-A366-F36F4ABFF488} = {D86B94DC-A53C-4A67-A820-828DD359C49B} {9A4B1C48-16FB-4A65-AE98-5CDE7BCB506C} = {D86B94DC-A53C-4A67-A820-828DD359C49B} {82B115DA-E3D0-49D7-AD08-DE9387656756} = {22E75696-6FE9-436A-9097-EE21C603F818} + {8EC3CF51-EBC1-4B45-881E-4B1B8190D579} = {E42743A0-FBDD-4150-9D53-6000496D9B87} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {8B0975FD-7050-48B0-88C5-48C33378E158} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Elsa.Samples.WatchDirectoryWorker.csproj b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Elsa.Samples.WatchDirectoryWorker.csproj new file mode 100644 index 000000000..44621cbd8 --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Elsa.Samples.WatchDirectoryWorker.csproj @@ -0,0 +1,17 @@ + + + + Exe + net5.0 + + + + + + + + + + + + diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs new file mode 100644 index 000000000..9c7cbf63b --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs @@ -0,0 +1,25 @@ +using Elsa.Samples.WatchDirectoryWorker.Workflows; +using Microsoft.Extensions.DependencyInjection; +using Microsoft.Extensions.Hosting; +using System; + +namespace Elsa.Samples.WatchDirectoryWorker +{ + class Program + { + static void Main(string[] args) + { + CreateHostBuilder(args).Build().Run(); + } + + public static IHostBuilder CreateHostBuilder(string[] args) => + Host.CreateDefaultBuilder(args) + .ConfigureServices((hostContext, services) => + { + services + .AddElsa(options => options + .AddFileActivities() + .AddWorkflow()); + }); + } +} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs new file mode 100644 index 000000000..85bec305b --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs @@ -0,0 +1,16 @@ +using Elsa.Activities.File; +using Elsa.Builders; +using System; +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Samples.WatchDirectoryWorker.Workflows +{ + public class WatchDirectoryWorkflow : IWorkflow + { + public void Build(IWorkflowBuilder builder) => builder.WatchDirectory(setup => setup.WithPath("C:\\Temp") + .WithPattern("*.txt")); + } +}