Статусы ЭК вынесены из Hosts. Добавлен фильтр по статусам эк в генератор.
This commit is contained in:
@@ -38,13 +38,12 @@ namespace PARR.GeneratorTemplates.Services
|
||||
string ekPattern = SqlHelpers.RegexToLike(query.Ek);
|
||||
|
||||
// список хостов для создания шаблонов
|
||||
var hosts = await hostService.Get()
|
||||
var queryHosts = hostService.Get()
|
||||
.Include(t => t.ApplicationsInHosts)
|
||||
.ThenInclude(t => t.Application).ThenInclude(t => t!.ApplicationsInWorks).ThenInclude(w => w.Work)
|
||||
.Include(t => t.Templates)
|
||||
.ThenInclude(w => w.ApplicationsInWork)
|
||||
.Where(t =>
|
||||
//TODO: add status ЭК
|
||||
t.ApplicationsInHosts.Any(h =>
|
||||
h.ApplicationId == query.ApplicationId
|
||||
&& h.Application!.ApplicationsInWorks.Any(w => w.WorkId == query.WorkId)
|
||||
@@ -52,9 +51,15 @@ namespace PARR.GeneratorTemplates.Services
|
||||
&& EF.Functions.Like(t.Ek.ToLower(), ekPattern)
|
||||
// смотрим что нет такого шаблона
|
||||
&& t.Templates.Any(templ => templ.ApplicationsInWork!.WorkId == query.WorkId && templ.ApplicationsInWork.ApplicationId == query.ApplicationId) == false
|
||||
)
|
||||
.AsSplitQuery()
|
||||
.ToListAsync();
|
||||
);
|
||||
|
||||
// статус ЭК
|
||||
if (query.StatusEk > 0)
|
||||
queryHosts = queryHosts.Where(t => t.EkStatusCode == query.StatusEk);
|
||||
|
||||
var hosts = await queryHosts
|
||||
.AsSplitQuery()
|
||||
.ToListAsync();
|
||||
|
||||
if (!hosts.Any())
|
||||
{
|
||||
@@ -104,17 +109,23 @@ namespace PARR.GeneratorTemplates.Services
|
||||
// делаем sql формат для like из запроса.
|
||||
string ekPattern = SqlHelpers.RegexToLike(query.Ek);
|
||||
|
||||
var existTemplates = await templateService.Get()
|
||||
var queryTemplates = templateService.Get()
|
||||
.Include(t => t.Host)
|
||||
.Include(t => t.ApplicationsInWork)
|
||||
.Where(t =>
|
||||
t.IsActive == true
|
||||
&& t.ApplicationsInWork!.ApplicationId == query.ApplicationId
|
||||
&& t.ApplicationsInWork!.WorkId == query.WorkId
|
||||
//TODO: add status ЭК
|
||||
&& EF.Functions.Like(t.Host!.Ek.ToLower(), ekPattern)
|
||||
)
|
||||
.ToListAsync();
|
||||
);
|
||||
|
||||
// статус ЭК
|
||||
if (query.StatusEk > 0)
|
||||
queryTemplates = queryTemplates.Where(t => t.Host!.EkStatusCode == query.StatusEk);
|
||||
|
||||
var existTemplates = await queryTemplates
|
||||
.AsSplitQuery()
|
||||
.ToListAsync();
|
||||
|
||||
if (!existTemplates.Any())
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user