fix(templateDistributor): исправлен First в логгере. При распределении шаблонов направленных с генератора, возвращаются только они, а не весь список.

This commit is contained in:
Mikhail Trubnikov
2024-09-13 09:37:21 +10:00
parent 1af76405e2
commit 60403ccbf9

View File

@@ -98,13 +98,13 @@ namespace PARR.TemplateDistributor
.Where(t => t.ApplicationInWorkId == applicationInWorkId && t.Host!.WorkGroupId == workGroupId) .Where(t => t.ApplicationInWorkId == applicationInWorkId && t.Host!.WorkGroupId == workGroupId)
.ToListAsync(); .ToListAsync();
//Удалим из входных шаблонов уже существующие в БД //Удалим из входных шаблонов уже существующие в БД (по идее, такого никогда не должно случиться)
var duplicates = templates.Select(t => t.Id).Where(t => existingTemplates.Any(et => et.Id == t)).ToList(); var duplicates = templates.Select(t => t.Id).Where(t => existingTemplates.Any(et => et.Id == t)).ToList();
if (duplicates.Count > 0) if (duplicates.Count > 0)
{ {
duplicates.ForEach(t => duplicates.ForEach(t =>
{ {
logger.LogInformation($"Для распределения AiW({applicationInWorkId}),workGroupId({workGroupId}) передан существующий в базе данных шаблон {t}"); logger.LogWarning($"Для распределения AiW({applicationInWorkId}),workGroupId({workGroupId}) передан существующий в базе данных шаблон {t}");
}); });
templates.RemoveAll(t => duplicates.Any(dt => dt == t.Id)); templates.RemoveAll(t => duplicates.Any(dt => dt == t.Id));
} }
@@ -125,7 +125,7 @@ namespace PARR.TemplateDistributor
if (activatedTemplates.Count > 0) if (activatedTemplates.Count > 0)
{ {
Distribute(ref activatedTemplates, refDate, period, periodType, workDays); Distribute(ref activatedTemplates, refDate, period, periodType, workDays);
result.AddRange(activatedTemplates); // result.AddRange(activatedTemplates);
} }
//распределяем РР отдельно деактивированные //распределяем РР отдельно деактивированные
@@ -136,6 +136,19 @@ namespace PARR.TemplateDistributor
if (deactivatedTemplates.Count > 0) if (deactivatedTemplates.Count > 0)
{ {
Distribute(ref deactivatedTemplates, refDate, period, periodType, workDays); Distribute(ref deactivatedTemplates, refDate, period, periodType, workDays);
// result.AddRange(deactivatedTemplates);
}
if (templates.Any())
{
// это была генерация шаблонов, не нужны все шаблоны, нужны только те которые передал для получения NextRun
result.AddRange(templates);
}
else
{
// это было распределение шаблонов, добавляем активированные и деактивированные
result.AddRange(activatedTemplates);
result.AddRange(deactivatedTemplates); result.AddRange(deactivatedTemplates);
} }
@@ -228,7 +241,11 @@ namespace PARR.TemplateDistributor
//Проверяем шаблоны уже распределённые, чтобы не перемещать лишний раз //Проверяем шаблоны уже распределённые, чтобы не перемещать лишний раз
var templateToDistrib = GetTemplatesToDistribute(ref distrPlan, templates); var templateToDistrib = GetTemplatesToDistribute(ref distrPlan, templates);
logger.LogInformation($"{GetType().Name}(AppInWId:{templates.Select(t => t.ApplicationInWorkId).First()}, WorkGroup:{templates.Select(t => t.Host!.WorkGroup!.Name).First()}) запланировал изменение даты следующего срабатывания у {templateToDistrib.Count()} существующих шаблона(ов), {templates.Count() - templateToDistrib.Count()} остались без изменений"); //logger.LogInformation($"{GetType().Name}(AppInWId:{templates.Select(t => t.ApplicationInWorkId).First()}, WorkGroup:{templates.Select(t => t.Host!.WorkGroup!.Name).First()}) запланировал изменение даты следующего срабатывания у {templateToDistrib.Count()} существующих шаблона(ов), {templates.Count() - templateToDistrib.Count()} остались без изменений");
string? loggerWorkGroup = templates.FirstOrDefault()?.Host?.WorkGroup != null ? templates.FirstOrDefault()?.Host?.WorkGroup?.Name : templates.FirstOrDefault()?.Host?.WorkGroupId?.ToString();
logger.LogInformation($"{GetType().Name}(AppInWId:{templates.Select(t => t.ApplicationInWorkId).First()}, " +
$"WorkGroup:{loggerWorkGroup}) " +
$"запланировал изменение даты следующего срабатывания у {templateToDistrib.Count()} существующих шаблона(ов), {templates.Count() - templateToDistrib.Count()} остались без изменений");
if (!templateToDistrib.Any()) if (!templateToDistrib.Any())
return; return;