From 6febc8ce8d57ce699a7b382f8c04ea6256f6bcd9 Mon Sep 17 00:00:00 2001 From: Mikhail Trubnikov Date: Mon, 12 Jan 2026 14:32:19 +1000 Subject: [PATCH] =?UTF-8?q?feat(api):=20UnitFieldValueController=20-=20Get?= =?UTF-8?q?All=20=D1=83=D1=81=D0=BA=D0=BE=D1=80=D0=B5=D0=BD=D0=B8=D0=B5=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=BF=D1=80=D0=BE=D1=81=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../V1/UnitFieldValueController.cs | 21 ++++++++++++++----- 1 file changed, 16 insertions(+), 5 deletions(-) diff --git a/PARR.API/Controllers/V1/UnitFieldValueController.cs b/PARR.API/Controllers/V1/UnitFieldValueController.cs index be4bef4e..7bf3032e 100644 --- a/PARR.API/Controllers/V1/UnitFieldValueController.cs +++ b/PARR.API/Controllers/V1/UnitFieldValueController.cs @@ -24,14 +24,17 @@ namespace PARR.API.Controllers.V1 { private readonly IMapper mapper; private readonly IUnitFieldValueService unitFieldValueService; + private readonly IUnitInValueService unitInValueService; public UnitFieldValueController( IMapper mapper, - IUnitFieldValueService unitFieldValueService + IUnitFieldValueService unitFieldValueService, + IUnitInValueService unitInValueService ) { this.mapper = mapper; this.unitFieldValueService = unitFieldValueService; + this.unitInValueService = unitInValueService; } /// @@ -44,14 +47,22 @@ namespace PARR.API.Controllers.V1 { var paginationFilter = mapper.Map(paginationQuery); - IQueryable query = unitFieldValueService.Get() - .Where(t => t.UnitInValues.Any(t => t.FieldId == fieldId)) - .OrderBy(t => t.Value); + //IQueryable query = unitFieldValueService.Get() + // .Where(t => t.UnitInValues.Any(t => t.FieldId == fieldId)) + // .OrderBy(t => t.Value); + + IQueryable query = unitInValueService.Get() + .Where(t => t.FieldId == fieldId) + .Select(t => t.Value) + .Distinct() + .OrderBy(t => t!.Value); if (!string.IsNullOrEmpty(filter.Mask)) query = query.Where(t => EF.Functions.Like(t.Value!.ToLower(), SqlHelpers.RegexToLike(filter.Mask))); - var fieldValues = await unitFieldValueService.GetPage(query, paginationFilter).ToListAsync(); + var fieldValuesQuery = unitFieldValueService.GetPage(query, paginationFilter); + + var fieldValues = await fieldValuesQuery.ToListAsync(); if (!fieldValues.Any()) return NoContent();