From 577e8fa30de937ba09eda54523d4c82827ad0cc1 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Sun, 21 May 2023 10:15:56 +0200 Subject: [PATCH] Fix activity of T result --- .../Elsa.Workflows.Core/Models/ActivityT.cs | 43 +++++++++++++++++++ .../Models/CodeActivity.cs | 33 -------------- 2 files changed, 43 insertions(+), 33 deletions(-) create mode 100644 src/modules/Elsa.Workflows.Core/Models/ActivityT.cs diff --git a/src/modules/Elsa.Workflows.Core/Models/ActivityT.cs b/src/modules/Elsa.Workflows.Core/Models/ActivityT.cs new file mode 100644 index 000000000..58e668754 --- /dev/null +++ b/src/modules/Elsa.Workflows.Core/Models/ActivityT.cs @@ -0,0 +1,43 @@ +using Elsa.Expressions.Models; +using Elsa.Workflows.Core.Contracts; + +namespace Elsa.Workflows.Core.Models; + +/// +/// Base class for custom activities that return a result. +/// +public abstract class Activity : Activity, IActivityWithResult +{ + /// + protected Activity(string? source = default, int? line = default) : base(source, line) + { + } + + /// + protected Activity(string activityType, int version = 1, string? source = default, int? line = default) : base(activityType, version, source, line) + { + } + + /// + protected Activity(MemoryBlockReference? output, string? source = default, int? line = default) : this(source, line) + { + if (output != null) Result = new Output(output); + } + + /// + protected Activity(Output? output, string? source = default, int? line = default) : this(source, line) + { + Result = output; + } + + /// + /// The result of the activity. + /// + public Output? Result { get; set; } + + Output? IActivityWithResult.Result + { + get => Result; + set => Result = (Output?)value; + } +} \ No newline at end of file diff --git a/src/modules/Elsa.Workflows.Core/Models/CodeActivity.cs b/src/modules/Elsa.Workflows.Core/Models/CodeActivity.cs index 3e600fd45..b9bd7f356 100644 --- a/src/modules/Elsa.Workflows.Core/Models/CodeActivity.cs +++ b/src/modules/Elsa.Workflows.Core/Models/CodeActivity.cs @@ -96,37 +96,4 @@ public abstract class CodeActivity : CodeActivity, IActivityWithResult get => Result; set => Result = (Output?)value; } -} - -/// -/// Base class for custom activities that return a result. -/// -public abstract class Activity : Activity -{ - /// - protected Activity(string? source = default, int? line = default) : base(source, line) - { - } - - /// - protected Activity(string activityType, int version = 1, string? source = default, int? line = default) : base(activityType, version, source, line) - { - } - - /// - protected Activity(MemoryBlockReference? output, string? source = default, int? line = default) : this(source, line) - { - if (output != null) Result = new Output(output); - } - - /// - protected Activity(Output? output, string? source = default, int? line = default) : this(source, line) - { - Result = output; - } - - /// - /// The result of the activity. - /// - public Output? Result { get; set; } } \ No newline at end of file