using PARR.DAL.NextRunServices.Models;
namespace PARR.DAL.NextRunServices.Subservices
{
//todo: -> internal
public interface ITemplateDistributorV2
{
///
/// Распределить шаблоны
///
///
///
///
///
///
///
///
Task> DistributeTemplatesAsync(DateOnly startDate, int duration, DateTimeOffset referenceDate, TimeSpan? offset, List allTemplates, bool excludeWeekends);
///
/// Метод проверяет, актуален ли текущий NextRun шаблона, если не актуален, возвращает актуальное значение
///
///
///
///
///
///
///
///
///
///
Task GetNextRunForTemplateAsync(DateOnly startDate, int duration, DateTimeOffset referenceDate, TimeSpan? offset, TemplateNextRunDto targetTemplate, List allTemplates, bool excludeWeekends, bool isNew);
///
/// Получить список выходных дней
///
///
///
///
Task> GetWeekendsAsync(DateOnly startDate, DateOnly endDate);
///
/// Получить список рабочих дней
///
///
///
///
///
Task> GetWorkDaysAsync(DateOnly start, DateOnly end, bool excludeWeekends);
}
}