using PARR.DAL.DomainModels;
using PARR.DAL.Models;
using PARR.DAL.Services.Interfaces.Base;

namespace PARR.DAL.Services.Interfaces
{
    public interface IEsppSchTypeConfigService : IBaseService<EsppSchTypeConfig>
    {
        /// <summary>
        /// Формирует расписание в нормальном понятном виде из БД синхронно
        /// </summary>
        /// <param name="jobGroupId"></param>
        /// <returns></returns>
        EsppScheduleDto? GetEsppScheduleDto(Guid jobGroupId);

        /// <summary>
        /// Формирует расписание в нормальном понятном виде из БД асинхронно
        /// </summary>
        /// <param name="jobGroupId"></param>
        /// <returns></returns>
        Task<EsppScheduleDto?> GetEsppScheduleDtoAsync(Guid jobGroupId);
        
        IQueryable<EsppSchTypeConfig> GetWithSchIncludes();
    }
}
