27 lines
1.7 KiB
C#
27 lines
1.7 KiB
C#
using PARR.DAL.NextRunServices.Models;
|
||
|
||
namespace PARR.DAL.NextRunServices.Subservices
|
||
{
|
||
//todo: public -> internal!!!
|
||
public interface ITemplateDistributor
|
||
{
|
||
/// <summary>
|
||
/// Распределяет все шаблоны на указанный период, учитывая план нагрузки.
|
||
/// Возвращает список всех шаблонов с обновлёнными датами выполнения.
|
||
/// </summary>
|
||
/// <param name="startDate">Дата начала распределения</param>
|
||
/// <param name="duration">Длительность распределения, дней</param>
|
||
/// <param name="referenceDate">ReferenceDate</param>
|
||
/// <param name="allTemplates">Спиоск шаблонов для распределения</param>
|
||
/// <param name="excludeWeekends">Исключать выходные из распределения</param>
|
||
/// <returns></returns>
|
||
Task<List<TemplateNextRunResultDto>> DistributeTemplatesAsync(DateOnly startDate, int duration, DateTimeOffset referenceDate, List<TemplateNextRunDto> allTemplates, bool excludeWeekends);
|
||
|
||
/// <summary>
|
||
/// Возвращает актуальную дату выполнения для одного шаблона, учитывая план нагрузки.
|
||
/// Возвращает обновлённый шаблон с новой датой выполнения.
|
||
/// </summary>
|
||
Task<TemplateNextRunResultDto> GetValidNextRunForTemplateAsync(DateOnly startDate, int duration, DateTimeOffset referenceDate, TemplateNextRunDto targetTemplate, List<TemplateNextRunDto> allTemplates, bool excludeWeekends);
|
||
}
|
||
}
|