From a6ec418892fd06716325ec95d0b5bd3bbfc0fd1a Mon Sep 17 00:00:00 2001 From: Mikhail Kuznetsov Date: Wed, 18 Feb 2026 13:37:14 +1000 Subject: [PATCH] =?UTF-8?q?feat(templateUpdater):=20=D1=80=D0=B0=D1=81?= =?UTF-8?q?=D1=88=D0=B8=D1=80=D0=B5=D0=BD=D1=8B=20=D0=BF=D1=80=D0=B0=D0=B2?= =?UTF-8?q?=D0=B8=D0=BB=D0=B0=20=D0=B2=D0=B0=D0=BB=D0=B8=D0=B4=D0=B0=D1=86?= =?UTF-8?q?=D0=B8=D0=B8=20=D1=88=D0=B0=D0=B1=D0=BB=D0=BE=D0=BD=D0=B0=20?= =?UTF-8?q?=D0=BF=D0=B5=D1=80=D0=B5=D0=B4=20=D0=BE=D0=B1=D0=BD=D0=BE=D0=B2?= =?UTF-8?q?=D0=BB=D0=B5=D0=BD=D0=B8=D0=B5=D0=BC?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Services/TemplateUpdaterService.cs | 26 +++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs b/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs index 668c7d73..c4f0cecd 100644 --- a/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs +++ b/PARR.TemplateUpdater/Services/TemplateUpdaterService.cs @@ -170,13 +170,35 @@ namespace PARR.TemplateUpdater.Services /// private async Task IsValidAsync(TemplateUpdaterMq query) { - var template = await templateService.Get().AsNoTracking().AnyAsync(t => t.Id == query.TemplateId); - if (!template) + var template= await templateService.Get().AsNoTracking() + .Include(t=>t.RobotConfigurations) + .FirstOrDefaultAsync(t => t.Id == query.TemplateId); + + if (template == null) { logger.LogError("Сообщение не валидно. Не найден шаблон с id: {TemplateId}", query.TemplateId); return false; } + if(template.ScheduleEsppId == null) + { + logger.LogError("Сообщение не валидно. Номер расписания не может быть null, робот не сможет обновить шаблон: {TemplateName}", query.Name); + return false; + } + + var config = robotConfigurationService.GetFromTemplateByRobotCode(RobotsEnum.TemplateOrder, template); + if (config == null) + { + logger.LogError("Сообщение не валидно. Не создана конфигурация роботов: {TemplateName}", query.Name); + return false; + } + + if (config.TaskStatusCode != (int)TaskStatusEnum.Ok) + { + logger.LogError("Сообщение не валидно. Не закончено создание или предыдущее обновление - нельзя начинать новое изменение шаблона: {TemplateName}", query.Name); + return false; + } + if (string.IsNullOrEmpty(query.Name?.Trim())) { logger.LogError("Сообщение не валидно. Имя шаблона не может быть пустым: {TemplateName}", query.Name);