feat(api): Новый контроллер JobUnitPreview, для получения предпросмотра затрагиваемых ЭК работой
This commit is contained in:
@@ -30,7 +30,7 @@ namespace PARR.DAL.DomainServices.Implementations
|
||||
}
|
||||
|
||||
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdByJobFilterAsync(Guid jobId)
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdByJobFilterAsync(Guid jobId, int? takeCount = null)
|
||||
{
|
||||
|
||||
var job = await jobService
|
||||
@@ -45,11 +45,11 @@ namespace PARR.DAL.DomainServices.Implementations
|
||||
if (job == null)
|
||||
return null;
|
||||
|
||||
return await GetUnitsIdByJobFilterAsync(job);
|
||||
return await GetUnitsIdByJobFilterAsync(job, takeCount);
|
||||
}
|
||||
|
||||
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdByJobFilterAsync(Job job)
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdByJobFilterAsync(Job job, int? takeCount = null)
|
||||
{
|
||||
var result = new List<Guid>();
|
||||
|
||||
@@ -112,6 +112,10 @@ namespace PARR.DAL.DomainServices.Implementations
|
||||
else
|
||||
query = query.Where(t => t.ChildUnits.Count() >= job.MinValueRelationships && t.ChildUnits.Count() <= job.MaxValueRelationships);
|
||||
}
|
||||
|
||||
if (takeCount.HasValue)
|
||||
query = query.Take(takeCount.Value);
|
||||
|
||||
var newUnits = await query.Select(t => t.Id).ToListAsync();
|
||||
result.AddRange(newUnits);
|
||||
}
|
||||
@@ -121,9 +125,9 @@ namespace PARR.DAL.DomainServices.Implementations
|
||||
|
||||
|
||||
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdForExistTemplatesByJobFilterAsync(Guid jobId)
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdForExistTemplatesByJobFilterAsync(Guid jobId, int? takeCount = null)
|
||||
{
|
||||
var unitIdsMustBeCreated = await GetUnitsIdByJobFilterAsync(jobId);
|
||||
var unitIdsMustBeCreated = await GetUnitsIdByJobFilterAsync(jobId, takeCount);
|
||||
|
||||
if (unitIdsMustBeCreated == null || !unitIdsMustBeCreated.Any())
|
||||
return null;
|
||||
@@ -133,9 +137,9 @@ namespace PARR.DAL.DomainServices.Implementations
|
||||
return unitWithTemplates;
|
||||
}
|
||||
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdForNotExistTemplatesByJobFilterAsync(Guid jobId)
|
||||
public async Task<IEnumerable<Guid>?> GetUnitsIdForNotExistTemplatesByJobFilterAsync(Guid jobId, int? takeCount = null)
|
||||
{
|
||||
var unitIdsMustBeCreated = await GetUnitsIdByJobFilterAsync(jobId);
|
||||
var unitIdsMustBeCreated = await GetUnitsIdByJobFilterAsync(jobId, takeCount);
|
||||
|
||||
if (unitIdsMustBeCreated == null || !unitIdsMustBeCreated.Any())
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user