фильтрация всего

This commit is contained in:
2025-06-08 22:09:53 +04:00
parent 49296ac754
commit 42d91abe15
20 changed files with 302 additions and 89 deletions

View File

@@ -40,14 +40,18 @@ namespace SoftwareDataBase.Repository
public List<TestViewModel> GetFilteredList(TestSearchModel model)
{
if (!model.Id.HasValue && !model.TestStatus.HasValue && !model.DateFrom.HasValue && !model.DateTo.HasValue)
{
return new List<TestViewModel>();
}
using var context = new SoftwareDateBase();
var query = context.Tests.Include(x => x.Project).AsQueryable();
// Постепенное применение фильтров
if (model.ProjectId.HasValue)
// Применяем фильтры только если указаны соответствующие критерии
if (model.Id.HasValue)
{
query = query.Where(x => x.ProjectId == model.ProjectId.Value);
query = query.Where(x => x.Id == model.Id.Value);
}
if (model.TestStatus.HasValue)
@@ -55,10 +59,14 @@ namespace SoftwareDataBase.Repository
query = query.Where(x => x.TestStatus == model.TestStatus.Value);
}
// Если не указано ни одного критерия - возвращаем пустой список
if (!model.ProjectId.HasValue && !model.TestStatus.HasValue)
if (model.DateFrom.HasValue)
{
return new List<TestViewModel>();
query = query.Where(x => x.CreatedDate >= model.DateFrom.Value);
}
if (model.DateTo.HasValue)
{
query = query.Where(x => x.CreatedDate <= model.DateTo.Value);
}
return query