diff --git a/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs b/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs index f5e629ce28..9b230e96de 100644 --- a/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs +++ b/src/modules/Elsa.Workflows.Core/Extensions/ActivityExtensions.cs @@ -58,21 +58,6 @@ from outputProp in outputProps return query.Select(x => x!).ToList(); } - - /// - /// Gets the output with the specified name. - /// - /// The activity to get the output from. - /// The workflow execution context. - /// Name of the output. - /// The output value. - public static object? GetOutput(this IActivity activity, WorkflowExecutionContext context, string? outputName = default) - { - var workflowExecutionContext = context; - var outputRegister = workflowExecutionContext.GetActivityOutputRegister(); - var output = outputRegister.FindOutputByActivityId(activity.Id, outputName); - return output; - } /// /// Gets the output with the specified name. @@ -83,7 +68,10 @@ from outputProp in outputProps /// The output value. public static object? GetOutput(this IActivity activity, ActivityExecutionContext context, string? outputName = default) { - return activity.GetOutput(context.WorkflowExecutionContext, outputName); + var workflowExecutionContext = context.WorkflowExecutionContext; + var outputRegister = workflowExecutionContext.GetActivityOutputRegister(); + var output = outputRegister.FindOutputByActivityInstanceId(context.Id, outputName); + return output; } /// @@ -95,7 +83,12 @@ from outputProp in outputProps /// The output value. public static object? GetOutput(this IActivity activity, ExpressionExecutionContext context, string? outputName = default) { - return activity.GetOutput(context.GetWorkflowExecutionContext(), outputName); + var activityExecutionContext = context.GetActivityExecutionContext(); + + if (activityExecutionContext == null) + return null; + + return activity.GetOutput(activityExecutionContext, outputName); } ///