feat(dal,templateMatcher): UnitFilterService переписан, теперь при подсчете количества связей для групп работ зонтик учитываются relationshipFilter. В TemplateMatcher добавлено изменение имени Unused шаблонов в конце имени добавляется DateTimeOffset.UtcNow.ToUnixTimeSeconds() для уникальности неиспользуемых шаблонов. Актуализированы unit-тесты
This commit is contained in:
@@ -2,7 +2,6 @@
|
||||
using Microsoft.Extensions.Logging;
|
||||
using PARR.DAL.Context;
|
||||
using PARR.DAL.Models.Unit;
|
||||
using PARR.DAL.Services.Abstracts;
|
||||
using PARR.DAL.Services.Interfaces.Unit;
|
||||
|
||||
namespace PARR.DAL.Services.Implementations.Unit
|
||||
@@ -36,5 +35,24 @@ namespace PARR.DAL.Services.Implementations.Unit
|
||||
.Where(u => u.ChildUnitId == childId)
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<UnitInUnit>> GetParentLinksByChildIdsAsync(IEnumerable<Guid> childUnitIds)
|
||||
{
|
||||
var set = childUnitIds.ToHashSet();
|
||||
return await dataContext.UnitInUnits
|
||||
.AsNoTracking()
|
||||
.Where(uinu => set.Contains(uinu.ChildUnitId))
|
||||
.ToListAsync();
|
||||
}
|
||||
|
||||
public async Task<List<UnitInUnit>> GetChildLinksByParentIdsAsync(IEnumerable<Guid> parentUnitIds)
|
||||
{
|
||||
var set = parentUnitIds.ToHashSet();
|
||||
return await dataContext.UnitInUnits
|
||||
.AsNoTracking()
|
||||
.Where(uinu => set.Contains(uinu.ParentUnitId))
|
||||
.ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,5 +67,18 @@ namespace PARR.DAL.Services.Implementations.Unit
|
||||
|
||||
return keyValuePairs.Select(kvp => (kvp.Key, kvp.Value)).ToList();
|
||||
}
|
||||
|
||||
|
||||
public async Task<List<UnitInValue>> GetByUnitIdsAndFieldIdsAsync(IEnumerable<Guid> unitIds, IEnumerable<Guid> fieldIds)
|
||||
{
|
||||
var unitIdSet = unitIds.ToHashSet();
|
||||
var fieldIdSet = fieldIds.ToHashSet();
|
||||
|
||||
return await dataContext.UnitInValues
|
||||
.AsNoTracking()
|
||||
.Include(uv => uv.Value) // UnitFieldValue
|
||||
.Where(uv => unitIdSet.Contains(uv.UnitId) && fieldIdSet.Contains(uv.FieldId))
|
||||
.ToListAsync();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user