43 lines
1.5 KiB
C#
43 lines
1.5 KiB
C#
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<TemplateDistributor> logger;
|
||
private readonly INextRunService nextRunService;
|
||
|
||
public TemplateDistributor(
|
||
ILogger<TemplateDistributor> 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;
|
||
}
|
||
|
||
// получить список шаблонов, сравнить их с распределенными, обновить даты, сохранить
|
||
}
|
||
}
|
||
}
|