feat(dal, templateMatcher): UnitFilterService теперь возвращает модель Dto а не только Id

This commit is contained in:
Mikhail Kuznetsov
2026-01-21 18:25:09 +10:00
parent eb5bed5614
commit 555b946daa
15 changed files with 1105 additions and 968 deletions

View File

@@ -1,39 +0,0 @@
using PARR.DAL.Models.Job;
namespace PARR.DAL.DomainServices.Interfaces
{
public interface IUnitFilterService
{
/// <summary>
/// Получает список ID Unit'ов, соответствующих фильтрам Job.
/// </summary>
/// <param name="jobId">ID Job</param>
/// <param name="takeCount">Максимальное количество Unit'ов (опционально)</param>
/// <returns>Список ID Unit'ов или null, если Job не найден</returns>
Task<IEnumerable<Guid>?> GetUnitsIdByJobFilterAsync(
Guid jobId,
int? takeCount = null);
/// <summary>
/// Получает список ID Unit'ов, соответствующих фильтрам Job.
/// </summary>
/// <param name="job">Job с предзагруженными UnitFilters, Group, GroupType</param>
/// <param name="takeCount">Максимальное количество Unit'ов (опционально)</param>
/// <returns>Список ID Unit'ов</returns>
Task<IEnumerable<Guid>?> GetUnitsIdByJobFilterAsync(
Models.Job.Job job,
int? takeCount = null);
/// <summary>
/// Получает имена связанных Unit'ов для заданного Unit, отфильтрованных по RelationshipFilters Job.
/// Используется для шорткода %СВЯЗИ%.
/// </summary>
/// <param name="jobId">ID Job</param>
/// <param name="unitId">ID Unit, для которого ищутся связи</param>
/// <param name="ct">Токен отмены (опционально)</param>
/// <returns>Список имён связанных Unit'ов (уникальные, без дублей)</returns>
Task<List<string>> GetRelatedUnitNamesAsync(
Guid jobId,
Guid unitId);
}
}