feat(api): фильтр шаблонов по статусу синхронизации
This commit is contained in:
@@ -79,6 +79,25 @@ namespace PARR.API.Controllers.V1
|
||||
if (filter.StatusTypeId.HasValue)
|
||||
query = query.Where(t => t.StatusTypeId == filter.StatusTypeId);
|
||||
|
||||
#region Статус синхронизации
|
||||
|
||||
switch (filter.SyncStatus)
|
||||
{
|
||||
case (TemplateQuerySyncStatusEnum.Waiting):
|
||||
query = query.Where(t => t.RobotConfigurations.Any(x => x.TaskStatusCode != (int)TaskStatusEnum.Ok));
|
||||
break;
|
||||
case (TemplateQuerySyncStatusEnum.Complete):
|
||||
query = query.Where(t => t.RobotConfigurations.All(x => x.TaskStatusCode == (int)TaskStatusEnum.Ok));
|
||||
break;
|
||||
case (TemplateQuerySyncStatusEnum.Error):
|
||||
query = query.Where(t => t.RobotConfigurations.Any(x => x.RobotStatusCode == (int)RobotStatusEnum.Error));
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
|
||||
#endregion
|
||||
|
||||
var templates = await templateService.GetPage(query, paginationFilter).ToListAsync();
|
||||
|
||||
if (!templates.Any())
|
||||
|
||||
Reference in New Issue
Block a user