feat(api): applicationInWorks getAll, фильтр по workId, is_light=true - облегченный запрос без include

This commit is contained in:
Mikhail Trubnikov
2024-05-21 13:56:13 +10:00
parent 4ea2bdb326
commit d139374f5f
2 changed files with 22 additions and 4 deletions

View File

@@ -52,15 +52,23 @@ namespace PARR.API.Controllers.V1
{
var paginationFilter = mapper.Map<PaginationFilter>(paginationQuery);
IQueryable<ApplicationsInWork> query = applicationsInWorkService.Get()
.Include(t => t.Application).ThenInclude(t => t!.ApplicationType)
IQueryable<ApplicationsInWork> query = applicationsInWorkService.Get();
if (filter.IsLight != true)
{
query = query.Include(t => t.Application).ThenInclude(t => t!.ApplicationType)
.Include(t => t.Work)
.Include(t => t.Templates)
.OrderBy(t => t.ShortDescription);
.Include(t => t.Templates);
}
query = query.OrderBy(t => t.ShortDescription);
if (!string.IsNullOrEmpty(filter.ShortDescription))
query = query.Where(t => t.ShortDescription.ToLower().Contains(filter.ShortDescription.ToLower()));
if (filter.WorkId.HasValue)
query = query.Where(t => t.WorkId == filter.WorkId.Value);
var appInWorks = await applicationsInWorkService.GetPage(query, paginationFilter).ToListAsync();
if (!appInWorks.Any())