using PARR.DAL.NextRunServices.Models;

namespace PARR.DAL.NextRunServices
{
    public interface INextRunService
    {
        /// <summary>
        /// Получить список TemplateId, NextRun по jobGroupId с автораспределением
        /// </summary>
        /// <param name="jobGroupId"></param>
        /// <returns></returns>
        Task<List<TemplateNextRunResultDto>?> GetNextRunForJobGroupWithAutoDistributionAsync(Guid jobGroupId);


        ///// <summary>
        ///// Получить NextRun по jobGroupId с расписанием ЕСПП
        ///// </summary>
        ///// <param name="jobGroupId"></param>
        ///// <returns></returns>
        //Task<DateTimeOffset> GetNextRunForJobGroupWithEsppSchedulleAsync(Guid jobGroupId);


        /// <summary>
        /// Получить nextRun для создаваемого шаблона, которого еще нет в БД
        /// </summary>
        /// <param name="jobGroupId"></param>
        /// <returns></returns>
        Task<DateTimeOffset> GetNextRunForNewTemplateAsync(Guid jobGroupId);


        /// <summary>
        /// Получить NextRun по id существующего шаблона
        /// </summary>
        /// <param name="templateId"></param>
        /// <param name="isNew">Шаблон переведенный из unused</param>
        /// <returns></returns>
        Task<DateTimeOffset> GetNextRunForTemplateAsync(Guid templateId, bool isNew);

    }
}
