feat(dal,core): Перенесены оставшиеся объекты из dal в core.

This commit is contained in:
Mikhail Trubnikov
2026-05-04 11:55:07 +10:00
parent 238244790b
commit a89605d02a
87 changed files with 276 additions and 174 deletions

View File

@@ -2,7 +2,6 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Schedule;
using PARR.DAL.Context;
using PARR.DAL.DomainModels;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities.Schedule;

View File

@@ -2,8 +2,8 @@
using Microsoft.Extensions.Logging;
using PARR.Core.Repositories.Interfaces.Schedule;
using PARR.DAL.Context;
using PARR.DAL.Contracts;
using PARR.Domain.Entities.Schedule;
using PARR.Domain.Settings;
namespace PARR.DAL.Repositories.Schedule
{

View File

@@ -127,6 +127,29 @@ namespace PARR.DAL.Repositories.Unit
logger.LogDebug("Наиболее частое значение для поля '{FieldName}': {Value}", fieldName, mostFrequentValue);
return mostFrequentValue;
}
public IQueryable<Guid> GetMatchingTargetIds(Guid fieldId, string valueMask)
{
//TODO: Вынесено из UnitFilterService
//var matchingTargetIds = await unitInValueService.Get()
// .AsNoTracking()
// .Where(uiv => uiv.FieldId == relFilter.FieldId)
// .Where(uiv => EF.Functions.ILike(uiv.Value.Value, dbValueMask))
// .Select(uiv => uiv.UnitId)
// .Distinct()
// .ToListAsync(cancellationToken);
return Get()
.AsNoTracking()
.Where(uiv => uiv.FieldId == fieldId)
.Where(uiv => EF.Functions.ILike(uiv.Value.Value, valueMask))
.Select(uiv => uiv.UnitId)
.Distinct();
}
}
}

View File

@@ -4,6 +4,7 @@ using PARR.Core.Repositories.Interfaces.Unit;
using PARR.DAL.Context;
using PARR.DAL.Repositories.Base;
namespace PARR.DAL.Repositories.Unit
{
internal class UnitRepository : BaseRepository<Domain.Entities.Unit.Unit>, IUnitRepository
@@ -19,5 +20,42 @@ namespace PARR.DAL.Repositories.Unit
.Include(t => t.UnitValues)
.ThenInclude(t => t.Value);
}
public IQueryable<PARR.Domain.Entities.Unit.Unit> GetUnitByFieldAndValue(IQueryable<PARR.Domain.Entities.Unit.Unit> query, Guid fieldId, string valueMask, bool isInverse = false)
{
//TODO: вынесено из UnitFilterService
if (isInverse)
{
query = query.Where(u => !u.UnitValues.Any(v =>
v.FieldId == fieldId &&
EF.Functions.ILike(v.Value.Value, valueMask)));
}
else
{
query = query.Where(u => u.UnitValues.Any(v =>
v.FieldId == fieldId &&
EF.Functions.ILike(v.Value.Value, valueMask)));
}
return query;
}
public IQueryable<Guid> GetInitialUnitIds(string dbValueMask)
{
//TODO: вынесено из UnitFilterService
//var initialUnitIds = await unitService.Get().AsNoTracking()
//.Where(unit => EF.Functions.ILike(unit.Name, dbValueMask))
//.Select(u => u.Id)
//.ToListAsync(cancellationToken);
return Get().AsNoTracking()
.Where(unit => EF.Functions.ILike(unit.Name, dbValueMask))
.Select(u => u.Id);
}
}
}

View File

@@ -3,9 +3,9 @@ using Microsoft.Extensions.Logging;
using PARR.Core.Common.Interfaces;
using PARR.Core.Repositories.Interfaces;
using PARR.DAL.Context;
using PARR.DAL.Contracts;
using PARR.DAL.Repositories.Base;
using PARR.Domain.Entities;
using PARR.Domain.Settings;
namespace PARR.DAL.Repositories
{