Simplify queries thanks to fix in YesSQL
This commit is contained in:
parent
8572f1e6d7
commit
245d6e9bbc
|
|
@ -59,17 +59,10 @@ namespace Elsa.Activities.Timers.Jobs
|
|||
|
||||
private async Task<bool> GetWorkflowIsAlreadyExecutingAsync(string? tenantId, string workflowDefinitionId, CancellationToken cancellationToken)
|
||||
{
|
||||
// See https://github.com/sebastienros/yessql/issues/298
|
||||
|
||||
Expression<Func<WorkflowInstanceIndex, bool>> query = tenantId == null
|
||||
? index =>
|
||||
index.WorkflowDefinitionId == workflowDefinitionId
|
||||
&& index.TenantId == null
|
||||
&& (index.WorkflowStatus == WorkflowStatus.Running || index.WorkflowStatus == WorkflowStatus.Suspended)
|
||||
: index =>
|
||||
index.WorkflowDefinitionId == workflowDefinitionId
|
||||
&& index.TenantId == tenantId
|
||||
&& (index.WorkflowStatus == WorkflowStatus.Running || index.WorkflowStatus == WorkflowStatus.Suspended);
|
||||
Expression<Func<WorkflowInstanceIndex, bool>> query = index =>
|
||||
index.WorkflowDefinitionId == workflowDefinitionId
|
||||
&& index.TenantId == tenantId
|
||||
&& (index.WorkflowStatus == WorkflowStatus.Running || index.WorkflowStatus == WorkflowStatus.Suspended);
|
||||
|
||||
var workflowInstance = await _workflowInstanceManager.Query(query).FirstOrDefaultAsync();
|
||||
return workflowInstance != null;
|
||||
|
|
|
|||
|
|
@ -24,12 +24,7 @@ namespace Elsa.Extensions
|
|||
WorkflowStatus workflowStatus,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
// See: https://github.com/sebastienros/yessql/issues/298
|
||||
Expression<Func<WorkflowInstanceIndex, bool>> query = tenantId == null
|
||||
? x => x.WorkflowDefinitionId == workflowDefinitionId && x.TenantId == null && x.WorkflowStatus == workflowStatus
|
||||
: x => x.WorkflowDefinitionId == workflowDefinitionId && x.TenantId == tenantId && x.WorkflowStatus == workflowStatus;
|
||||
|
||||
return manager.Query(query).ListAsync();
|
||||
return manager.Query<WorkflowInstanceIndex>(x => x.WorkflowDefinitionId == workflowDefinitionId && x.TenantId == tenantId && x.WorkflowStatus == workflowStatus).ListAsync();
|
||||
}
|
||||
|
||||
public static Task<IEnumerable<WorkflowInstance>> ListByDefinitionAndStatusAsync(
|
||||
|
|
@ -45,12 +40,7 @@ namespace Elsa.Extensions
|
|||
string? tenantId,
|
||||
CancellationToken cancellationToken = default)
|
||||
{
|
||||
// See: https://github.com/sebastienros/yessql/issues/298
|
||||
Expression<Func<WorkflowInstanceIndex, bool>> query = tenantId == null
|
||||
? x => x.WorkflowDefinitionId == workflowDefinitionId && x.TenantId == null
|
||||
: x => x.WorkflowDefinitionId == workflowDefinitionId && x.TenantId == tenantId;
|
||||
|
||||
return manager.Query(query).ListAsync();
|
||||
return manager.Query<WorkflowInstanceIndex>(x => x.WorkflowDefinitionId == workflowDefinitionId && x.TenantId == tenantId).ListAsync();
|
||||
}
|
||||
|
||||
public static Task<IEnumerable<WorkflowInstance>> ListByDefinitionAsync(
|
||||
|
|
|
|||
Loading…
Reference in a new issue