using Microsoft.EntityFrameworkCore; using Microsoft.Extensions.Logging; using PARR.BLL.Services.Interfaces; using PARR.Constants; using PARR.DAL.Models; using PARR.DAL.NextRunServices; using PARR.DAL.Services.Interfaces; using PARR.DAL.TransformServices; using System.Reflection.Metadata.Ecma335; namespace PARR.TemplateDistributor { internal class TemplateDistributor : ITemplateDistributor { private readonly ILogger logger; private readonly INextRunService nextRunService; public TemplateDistributor( ILogger logger, INextRunService nextRunService ) { this.logger = logger; this.nextRunService = nextRunService; } public async Task DistributeAsync(Guid jobGroupId) { // вызвать метод распределения, и получить новые даты var distributedTemplates = await nextRunService.GetNextRunForJobGroupWithAutoDistributionAsync(jobGroupId); if (distributedTemplates == null) { logger.LogWarning("При распределении шаблонов по jobGroupId {jobGroupId} вернулся null. Это ошибка. Прекращаю распределение.", jobGroupId); return; } // получить список шаблонов, сравнить их с распределенными, обновить даты, сохранить } } }