From 641c6f92579b2390741e90cdbbfcfb1fd0d4b1b5 Mon Sep 17 00:00:00 2001 From: Sipke Schoorstra Date: Fri, 23 Jul 2021 16:18:17 +0200 Subject: [PATCH] Add CorrelationIds query specification --- .../CorrelationIdsSpecification.cs | 21 +++++++++++++++++++ 1 file changed, 21 insertions(+) create mode 100644 src/core/Elsa.Core/Persistence/Specifications/WorkflowInstances/CorrelationIdsSpecification.cs diff --git a/src/core/Elsa.Core/Persistence/Specifications/WorkflowInstances/CorrelationIdsSpecification.cs b/src/core/Elsa.Core/Persistence/Specifications/WorkflowInstances/CorrelationIdsSpecification.cs new file mode 100644 index 000000000..3115b5dc3 --- /dev/null +++ b/src/core/Elsa.Core/Persistence/Specifications/WorkflowInstances/CorrelationIdsSpecification.cs @@ -0,0 +1,21 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Linq.Expressions; +using Elsa.Models; + +namespace Elsa.Persistence.Specifications.WorkflowInstances +{ + public class CorrelationIdsSpecification : Specification + { + public CorrelationIdsSpecification(string workflowDefinitionId, IEnumerable correlationIds) + { + WorkflowDefinitionId = workflowDefinitionId; + CorrelationIds = correlationIds; + } + + public string WorkflowDefinitionId { get; } + public IEnumerable CorrelationIds { get; } + public override Expression> ToExpression() => workflowInstance => workflowInstance.DefinitionId == WorkflowDefinitionId && CorrelationIds.Contains(workflowInstance.CorrelationId); + } +} \ No newline at end of file