From 5e47d49352de4dbde0ecb44d369f072cef390381 Mon Sep 17 00:00:00 2001 From: Cameron Cowen Date: Thu, 27 May 2021 08:08:32 +0100 Subject: [PATCH] Added workflowrunner extensions --- .../Extensions/WorkflowRunnerExtensions.cs | 31 +++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/activities/Elsa.Activities.File/Extensions/WorkflowRunnerExtensions.cs diff --git a/src/activities/Elsa.Activities.File/Extensions/WorkflowRunnerExtensions.cs b/src/activities/Elsa.Activities.File/Extensions/WorkflowRunnerExtensions.cs new file mode 100644 index 000000000..bef45fa6c --- /dev/null +++ b/src/activities/Elsa.Activities.File/Extensions/WorkflowRunnerExtensions.cs @@ -0,0 +1,31 @@ +using Elsa.Activities.File.Bookmarks; +using Elsa.Activities.File.Models; +using Elsa.Dispatch; +using System; +using System.Collections.Generic; +using System.IO; +using System.Linq; +using System.Text; +using System.Threading; +using System.Threading.Tasks; + +namespace Elsa.Activities.File.Extensions +{ + public static class WorkflowRunnerExtensions + { + const string _activityType = nameof(WatchDirectory); + + public static async Task TriggerFileSystemChangedWorkflowsAsync(this IWorkflowDispatcher workflowDispatcher, + string directory, + WatcherChangeTypes changeType, + string fileName, + string fullPath, + CancellationToken cancellationToken = default) + { + var input = new FileSystemChanged(changeType, directory, fileName, fullPath); + var bookmark = new FileSystemChangedBookmark(changeType, directory); + var trigger = new FileSystemChangedBookmark(changeType, directory); + await workflowDispatcher.DispatchAsync(new TriggerWorkflowsRequest(_activityType, bookmark, trigger, input), cancellationToken); + } + } +}