From e8b1c5efe19a626d7eb9137aba331e16b1f8a8b5 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 2 Aug 2023 22:53:15 +0200 Subject: [PATCH] Fix WorkflowDefinitionActivity when referenced wf version not found --- .../WorkflowDefinitionActivity.cs | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs index c25a4f322..bb5d8e6c7 100644 --- a/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs +++ b/src/modules/Elsa.Workflows.Management/Activities/WorkflowDefinitionActivity/WorkflowDefinitionActivity.cs @@ -135,7 +135,19 @@ public class WorkflowDefinitionActivity : Composite, IInitializable var workflowDefinition = await workflowDefinitionStore.FindAsync(filter, cancellationToken); if (workflowDefinition == null) - throw new Exception($"Workflow definition {WorkflowDefinitionId} not found"); + { + // Find the latest published version. + workflowDefinition = await workflowDefinitionStore.FindAsync(new WorkflowDefinitionFilter { DefinitionId = WorkflowDefinitionId, VersionOptions = VersionOptions.Published }, cancellationToken); + + if (workflowDefinition == null) + { + // Find the latest version. + workflowDefinition = await workflowDefinitionStore.FindAsync(new WorkflowDefinitionFilter { DefinitionId = WorkflowDefinitionId, VersionOptions = VersionOptions.Latest }, cancellationToken); + } + + if (workflowDefinition == null) + throw new Exception($"Could not find workflow definition with ID {WorkflowDefinitionId}."); + } // Construct the root activity stored in the activity definitions. var materializer = serviceProvider.GetRequiredService();