using PARR.Constants; namespace PARR.BLL.Services.Interfaces { public delegate IQueryable GetWeekendsDelegate(DateOnly start, DateOnly end); public interface ICalendarService { /// /// Возвращает список дней между датами /// /// /// /// List GetDatesForPeriod(DateOnly startPeriod, DateOnly endPeriod); /// /// Возвращает список дней между датами /// /// /// /// List GetDatesForPeriod(DateTimeOffset startPeriod, DateTimeOffset endPeriod); /// /// Получить дату со смещенной часовой зоной /// /// /// /// DateTimeOffset GetDateWithTimeZoneOffset(DateTimeOffset date, int timeZoneOffsetHours); /// /// Получить только рабочие дни за период /// /// /// /// /// /// /// List GetWorkDatesForPeriod(DateOnly startPeriod, TimeOnly refTime, DistributionPeriodTypeEnum periodType, string distributionPeriod, GetWeekendsDelegate getWeekends); } }