diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs index 2ced8d505..13b6b0aec 100644 --- a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Program.cs @@ -20,7 +20,10 @@ namespace Elsa.Samples.WatchDirectoryWorker .AddElsa(options => options .AddConsoleActivities() .AddFileActivities() - .AddWorkflow()); + .AddWorkflow() + .AddWorkflow() + .AddWorkflow() + .AddWorkflow()); }); } } diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryChangedWorkflow.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryChangedWorkflow.cs new file mode 100644 index 000000000..e12c719db --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryChangedWorkflow.cs @@ -0,0 +1,23 @@ +using Elsa.Activities.Console; +using Elsa.Activities.File; +using Elsa.Activities.File.Models; +using Elsa.Builders; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Samples.WatchDirectoryWorker.Workflows +{ + public class WatchDirectoryChangedWorkflow : IWorkflow + { + private readonly string _systemRoot = Path.GetPathRoot(Environment.SystemDirectory); + + public void Build(IWorkflowBuilder builder) => builder.WatchDirectory(setup => setup.WithPath(Path.Combine(_systemRoot, "Temp\\FileWatchers")) + .WithPattern("*.txt") + .WithChangeTypes(WatcherChangeTypes.Changed)) + .WriteLine(setup => setup.WithText(context => $"{GetType().Name}-{context.GetInput().FullPath}-{context.GetInput().ChangeType}")); + } +} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryCreatedWorkflow.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryCreatedWorkflow.cs new file mode 100644 index 000000000..59fac0af7 --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryCreatedWorkflow.cs @@ -0,0 +1,23 @@ +using Elsa.Activities.Console; +using Elsa.Activities.File; +using Elsa.Activities.File.Models; +using Elsa.Builders; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Samples.WatchDirectoryWorker.Workflows +{ + public class WatchDirectoryCreatedWorkflow : IWorkflow + { + private readonly string _systemRoot = Path.GetPathRoot(Environment.SystemDirectory); + + public void Build(IWorkflowBuilder builder) => builder.WatchDirectory(setup => setup.WithPath(Path.Combine(_systemRoot,"Temp\\FileWatchers")) + .WithPattern("*.txt") + .WithChangeTypes(WatcherChangeTypes.Created)) + .WriteLine(setup => setup.WithText(context => $"{GetType().Name}-{context.GetInput().FullPath}-{context.GetInput().ChangeType}")); + } +} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryDatWorkflow.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryDatWorkflow.cs new file mode 100644 index 000000000..73757b51e --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryDatWorkflow.cs @@ -0,0 +1,22 @@ +using Elsa.Activities.Console; +using Elsa.Activities.File; +using Elsa.Activities.File.Models; +using Elsa.Builders; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Samples.WatchDirectoryWorker.Workflows +{ + public class WatchDirectoryDatWorkflow : IWorkflow + { + private readonly string _systemRoot = Path.GetPathRoot(Environment.SystemDirectory); + + public void Build(IWorkflowBuilder builder) => builder.WatchDirectory(setup => setup.WithPath(Path.Combine(_systemRoot,"Temp\\FileWatchers")) + .WithPattern("*.dat")) + .WriteLine(setup => setup.WithText(context => $"{GetType().Name}-{context.GetInput().FullPath}-{context.GetInput().ChangeType}")); + } +} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryDeletedWorkflow.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryDeletedWorkflow.cs new file mode 100644 index 000000000..76e1bc8aa --- /dev/null +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryDeletedWorkflow.cs @@ -0,0 +1,23 @@ +using Elsa.Activities.Console; +using Elsa.Activities.File; +using Elsa.Activities.File.Models; +using Elsa.Builders; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Samples.WatchDirectoryWorker.Workflows +{ + public class WatchDirectoryDeletedWorkflow : IWorkflow + { + private readonly string _systemRoot = Path.GetPathRoot(Environment.SystemDirectory); + + public void Build(IWorkflowBuilder builder) => builder.WatchDirectory(setup => setup.WithPath(Path.Combine(_systemRoot,"Temp\\FileWatchers")) + .WithPattern("*.txt") + .WithChangeTypes(WatcherChangeTypes.Deleted)) + .WriteLine(setup => setup.WithText(context => $"{GetType().Name}-{context.GetInput().FullPath}-{context.GetInput().ChangeType}")); + } +} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs deleted file mode 100644 index a12d0fb34..000000000 --- a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/Workflows/WatchDirectoryWorkflow.cs +++ /dev/null @@ -1,19 +0,0 @@ -using Elsa.Activities.Console; -using Elsa.Activities.File; -using Elsa.Activities.File.Models; -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")) - .WriteLine(setup => setup.WithText(async context => context.GetInput().FullPath)); - } -} diff --git a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/appsettings.json b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/appsettings.json index 8a6b79589..89bdcb790 100644 --- a/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/appsettings.json +++ b/src/samples/worker/Elsa.Samples.WatchDirectoryWorker/appsettings.json @@ -1,8 +1,8 @@ { "Logging": { "LogLevel": { - "Default": "Information", - "Microsoft": "Information", + "Default": "Warning", + "Microsoft": "Warning", "Microsoft.Hosting.Lifetime": "Information" }, "Console": {