Advertisement
Lauda

Untitled

Mar 17th, 2025
133
0
21 days
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.01 KB | None | 0 0
  1. var result = await _dbContext.Assets
  2.                 .AsNoTracking()
  3.                 .Where(asset =>
  4.                     alertWorkflowsForAllCategories.Contains(asset.TenantId) &&
  5.                     asset.Tenant.TenantFeatures.WorkflowEnabled &&
  6.                     asset.Tenant.Type != TenantType.INACTIVE &&
  7.                     asset.Tag != null &&
  8.                     asset.Tag.TagCurrentState != null &&
  9.                     asset.AssetAssetTypes.Count != 0 &&
  10.                     (
  11.                         !asset.Tag.TagCurrentState.LastTimeSeen.HasValue ||
  12.                         allAssetCategoryWorkflowQuery.Any(workflow =>
  13.                             workflow.TenantId == asset.TenantId &&
  14.                             asset.Tag.TagCurrentState.LastTimeSeen <= timestampNow - workflow.ForwardEvery.Value * 1000 &&
  15.                             !workflow.WorkflowExecutions.Any(we => we.AssetId == asset.Id) || workflow.WorkflowExecutions.Any(we => we.AssetId == asset.Id && we.LastTimeTriggered <= (timestampNow - (workflow.ForwardEvery * 1000))))
  16.                     )
  17.                 )
  18.                 .Include(asset => asset.Tag)
  19.                 .ThenInclude(tag => tag.TagCurrentState)
  20.                 .Include(asset => asset.Tenant)
  21.                 .ThenInclude(t => t.TenantFeatures)
  22.                 .ToListAsync();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement