From 2f22396fdfdd7e8fc61c0459f98f853ca2c7aaad Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Wed, 6 Sep 2023 19:24:34 +0200 Subject: [PATCH] Fix Dapper migrations and multiple filter bug --- src/modules/Elsa.Dapper.Migrations/Runtime/Initial.cs | 2 -- .../Runtime/Stores/DapperWorkflowInboxMessageStore.cs | 10 ++++++++++ 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/modules/Elsa.Dapper.Migrations/Runtime/Initial.cs b/src/modules/Elsa.Dapper.Migrations/Runtime/Initial.cs index c73a84687..d57e3ed8a 100644 --- a/src/modules/Elsa.Dapper.Migrations/Runtime/Initial.cs +++ b/src/modules/Elsa.Dapper.Migrations/Runtime/Initial.cs @@ -28,7 +28,6 @@ public class Initial : Migration .WithColumn("ActivityTypeName").AsString().NotNullable() .WithColumn("WorkflowInstanceId").AsString().NotNullable() .WithColumn("CorrelationId").AsString().Nullable() - .WithColumn("ActivityId").AsString().NotNullable() .WithColumn("ActivityInstanceId").AsString().NotNullable() .WithColumn("Hash").AsString().Nullable() .WithColumn("SerializedPayload").AsString().Nullable() @@ -41,7 +40,6 @@ public class Initial : Migration .WithColumn("ActivityTypeName").AsString().NotNullable() .WithColumn("WorkflowInstanceId").AsString().NotNullable() .WithColumn("CorrelationId").AsString().Nullable() - .WithColumn("ActivityId").AsString().NotNullable() .WithColumn("ActivityInstanceId").AsString().NotNullable() .WithColumn("Hash").AsString().Nullable() .WithColumn("SerializedPayload").AsString().Nullable() diff --git a/src/modules/Elsa.Dapper/Modules/Runtime/Stores/DapperWorkflowInboxMessageStore.cs b/src/modules/Elsa.Dapper/Modules/Runtime/Stores/DapperWorkflowInboxMessageStore.cs index 92d83f634..182a92c9c 100644 --- a/src/modules/Elsa.Dapper/Modules/Runtime/Stores/DapperWorkflowInboxMessageStore.cs +++ b/src/modules/Elsa.Dapper/Modules/Runtime/Stores/DapperWorkflowInboxMessageStore.cs @@ -85,6 +85,16 @@ public class DapperWorkflowInboxMessageStore : IWorkflowInboxMessageStore var clausesSql = string.Join(" OR ", clauses.Select(x => x.Sql.ToString())); query.Sql.AppendLine(clausesSql); + + // Copy all parameters from the clauses to the main query. + foreach (var clause in clauses) + { + foreach (var parameterName in clause.Parameters.ParameterNames) + { + var parameterValue = clause.Parameters.Get(parameterName); + query.Parameters.Add(parameterName, parameterValue); + } + } } private IEnumerable Map(IEnumerable source) => source.Select(Map);