From d37e312f7a59cf7a1522c8b371919cf8ce4e04b3 Mon Sep 17 00:00:00 2001 From: Nokecy Date: Fri, 12 Jul 2024 04:10:57 +0800 Subject: [PATCH] feat: Modify the access level of FlowScope type and add Remove to specify the activity method (#5752) * update hangfire version to 1.8.5 * fix: fix hashSet deserialize error * fix: replace HashSet to ISet * Update polymorphic converter and tests * feat: Modify the access level of FlowScope type and add Remove to specify the activity method --------- Co-authored-by: Sipke Schoorstra --- .../Activities/Flowchart/Activities/Flowchart.cs | 2 +- .../Activities/Flowchart/Models/FlowScope.cs | 10 +++++++++- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs index 514f245fa..96cd4b718 100644 --- a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs +++ b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Activities/Flowchart.cs @@ -19,7 +19,7 @@ namespace Elsa.Workflows.Activities.Flowchart.Activities; [Browsable(false)] public class Flowchart : Container { - internal const string ScopeProperty = "Scope"; + public const string ScopeProperty = "Scope"; /// public Flowchart([CallerFilePath] string? source = default, [CallerLineNumber] int? line = default) : base(source, line) diff --git a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Models/FlowScope.cs b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Models/FlowScope.cs index b1d0fd82d..eb729c17e 100644 --- a/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Models/FlowScope.cs +++ b/src/modules/Elsa.Workflows.Core/Activities/Flowchart/Models/FlowScope.cs @@ -3,7 +3,7 @@ using Elsa.Workflows.Contracts; namespace Elsa.Workflows.Activities.Flowchart.Models; -internal class FlowScope +public class FlowScope { [JsonConstructor] public FlowScope() @@ -79,4 +79,12 @@ internal class FlowScope public long GetExecutionCount(IActivity activity) => Activities.ContainsKey(activity.Id) ? Activities[activity.Id].ExecutionCount : 0; public void Clear() => Activities.Clear(); + + public void Remove(IActivity activity) + { + if (Activities.ContainsKey(activity.Id)) + { + Activities.Remove(activity.Id); + } + } } \ No newline at end of file