From 804e3d23bb62487e5be562eae0f2512e9a976123 Mon Sep 17 00:00:00 2001 From: Cameron Cowen Date: Thu, 27 May 2021 00:02:49 +0100 Subject: [PATCH] Added initial watchdirectory trigger --- .../WatchDirectory/WatchDirectory.cs | 40 +++++++++++++++++++ 1 file changed, 40 insertions(+) create mode 100644 src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs diff --git a/src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs b/src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs new file mode 100644 index 000000000..de9a65d37 --- /dev/null +++ b/src/activities/Elsa.Activities.File/Activities/WatchDirectory/WatchDirectory.cs @@ -0,0 +1,40 @@ +using Elsa.ActivityResults; +using Elsa.Attributes; +using Elsa.Services; +using Elsa.Services.Models; +using Microsoft.Extensions.Logging; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading.Tasks; + +namespace Elsa.Activities.File +{ + [Trigger(Category = "File", + DisplayName = "Watch Directory", + Description = "Watches a directory for file system changes", + Outcomes = new[] { OutcomeNames.Done })] + public class WatchDirectory : Activity + { + private ILogger _logger; + + public WatchDirectory(ILogger logger) + { + _logger = logger; + } + + public WatcherChangeTypes ChangeType { get; set; } + + public string Directory { get; set; } + + public string FileName { get; set; } + + public async override ValueTask ExecuteAsync(ActivityExecutionContext context) + { + _logger.LogInformation($"Directory={Directory}"); + return Done(); + } + } +}