2025-12-09 16:50:35 +10:00
|
|
|
|
using PARR.DAL.Models.Unit;
|
|
|
|
|
|
|
|
|
|
|
|
namespace PARR.DAL.Services.Interfaces.Unit
|
|
|
|
|
|
{
|
|
|
|
|
|
public interface IUnitInValueService
|
|
|
|
|
|
{
|
|
|
|
|
|
Task<List<UnitInValue>> GetByUnitIdsAsync(IEnumerable<Guid> unitIds);
|
2025-12-23 18:27:31 +10:00
|
|
|
|
|
2025-12-09 16:50:35 +10:00
|
|
|
|
Task<List<UnitInValue>> GetByUnitIdAsync(Guid unitId);
|
2025-12-23 18:27:31 +10:00
|
|
|
|
|
2025-12-10 14:12:38 +10:00
|
|
|
|
Task<List<(string FieldName, string? Value)>> GetFieldValuesAsync(Guid unitId, IReadOnlyCollection<string> aihitNames);
|
2025-12-15 11:50:12 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Получает UnitInValue (с Value) для заданных UnitId и FieldId.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
Task<List<UnitInValue>> GetByUnitIdsAndFieldIdsAsync(IEnumerable<Guid> unitIds, IEnumerable<Guid> fieldIds);
|
2025-12-23 18:27:31 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Находит наиболее часто встречающееся непустое значение указанного поля среди переданных юнитов.
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="unitIds">Список Id юнитов для анализа.</param>
|
|
|
|
|
|
/// <param name="fieldName">Имя поля (AihitName) для поиска значения.</param>
|
|
|
|
|
|
/// <returns>Наиболее частое значение поля или null, если не найдено.</returns>
|
|
|
|
|
|
Task<string?> GetMostFrequentValueForFieldAsync(List<Guid> unitIds, string fieldName);
|
|
|
|
|
|
|
2025-12-19 19:15:58 +10:00
|
|
|
|
IQueryable<UnitInValue> Get();
|
2025-12-09 16:50:35 +10:00
|
|
|
|
}
|
|
|
|
|
|
}
|