From 0590d817a953271a698ea84aa95af5dde04703c1 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Mon, 24 Apr 2023 14:48:57 +0200 Subject: [PATCH] Remove deprecated activity --- .../SetWorkflowOutput/SetWorkflowOutput.cs | 62 ------------------- 1 file changed, 62 deletions(-) delete mode 100644 src/modules/Elsa.Workflows.Management/Activities/SetWorkflowOutput/SetWorkflowOutput.cs diff --git a/src/modules/Elsa.Workflows.Management/Activities/SetWorkflowOutput/SetWorkflowOutput.cs b/src/modules/Elsa.Workflows.Management/Activities/SetWorkflowOutput/SetWorkflowOutput.cs deleted file mode 100644 index 1e419c0f0..000000000 --- a/src/modules/Elsa.Workflows.Management/Activities/SetWorkflowOutput/SetWorkflowOutput.cs +++ /dev/null @@ -1,62 +0,0 @@ -using System.ComponentModel; -using Elsa.Extensions; -using Elsa.Workflows.Core; -using Elsa.Workflows.Core.Attributes; -using Elsa.Workflows.Core.Models; -using JetBrains.Annotations; - -namespace Elsa.Workflows.Management.Activities.SetWorkflowOutput; - -/// -/// Assigns a given value to a workflow definition's output. -/// -[Activity("Elsa", "Obsolete", "[OBSOLETE] Assigns a given value to a workflow definition's output.", Kind = ActivityKind.Action)] -[PublicAPI] -[Obsolete("Use the SetOutput activity instead.")] -[Browsable(false)] -public class SetWorkflowOutput : CodeActivity -{ - /// - /// The name of the output to assign. - /// - [Input( - Description = "The output to assign.", - UIHint = InputUIHints.OutputPicker - )] - public Input OutputName { get; set; } = default!; - - /// - /// The value to assign to the output. - /// - [Input(Description = "The value to assign.")] - public Input OutputValue { get; set; } = default!; - - /// - protected override async ValueTask ExecuteAsync(ActivityExecutionContext context) - { - var outputName = OutputName.Get(context); - var ancestorContext = context.GetAncestors().FirstOrDefault(x => x.ActivityDescriptor.Outputs.Any(y => y.Name == outputName)); - - if (ancestorContext != null) - SetAncestorActivityOutput(context, ancestorContext); - } - - private void SetAncestorActivityOutput(ActivityExecutionContext context, ActivityExecutionContext ancestorContext) - { - var ancestorActivity = ancestorContext.Activity; - var ancestorActivityDescriptor = ancestorContext.ActivityDescriptor; - var outputName = OutputName.Get(context); - var ancestorOutputDescriptor = ancestorActivityDescriptor.Outputs.FirstOrDefault(x => x.Name == outputName); - - if (ancestorOutputDescriptor == null) - return; - - var outputValue = OutputValue.GetOrDefault(context); - var ancestorOutput = (Output)ancestorOutputDescriptor.ValueGetter(ancestorActivity)!; - ancestorContext.Set(ancestorOutput, outputValue); - - // If the ancestor activity is the root workflow, we need to update the workflow execution context's output collection as well. - if (ancestorContext.ParentActivityExecutionContext == null) - context.WorkflowExecutionContext.Output[outputName] = outputValue!; - } -} \ No newline at end of file