2024-07-02 11:43:59 +10:00
|
|
|
|
using PARR.Constants;
|
|
|
|
|
|
using PARR.DAL.DomainModels;
|
2023-10-17 09:42:18 +10:00
|
|
|
|
|
|
|
|
|
|
namespace PARR.DAL.TransformServices
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Сервис трансформации расписания ЕСПП в дату/расписание
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
public interface IEsppScheduleTransformService
|
|
|
|
|
|
{
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Получить следующую дату согласно расписания
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="esppSchedule"></param>
|
|
|
|
|
|
/// <param name="lastRun"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
DateTimeOffset GetNextDate(EsppScheduleDto esppSchedule, DateTimeOffset lastRun);
|
|
|
|
|
|
|
2024-09-18 16:32:45 +10:00
|
|
|
|
///// <summary>
|
|
|
|
|
|
///// Получить расписание
|
|
|
|
|
|
///// </summary>
|
|
|
|
|
|
///// <param name="esppSchedule"></param>
|
|
|
|
|
|
///// <param name="lastRun"></param>
|
|
|
|
|
|
///// <returns></returns>
|
|
|
|
|
|
//List<DateTimeOffset> GetNextSchedule(EsppScheduleDto esppSchedule, DateTimeOffset lastRun);
|
2023-10-17 09:42:18 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
/// Получить следующую дату по jobGroupId
|
2023-10-17 09:42:18 +10:00
|
|
|
|
/// </summary>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
/// <param name="jobGroupId"></param>
|
2023-10-17 09:42:18 +10:00
|
|
|
|
/// <param name="lastRun"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
Task<DateTimeOffset> GetNextDateAsync(Guid jobGroupId, DateTimeOffset lastRun);
|
2023-10-17 09:42:18 +10:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
/// Получить расписание по jobGroupId
|
2023-10-17 09:42:18 +10:00
|
|
|
|
/// </summary>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
/// <param name="jobGroupId"></param>
|
2023-10-17 09:42:18 +10:00
|
|
|
|
/// <param name="lastRun"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
Task<List<DateTimeOffset>> GetNextScheduleAsync(Guid jobGroupId, DateTimeOffset lastRun);
|
2024-07-02 11:43:59 +10:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Получить следующую дату срабатывания в указанном периоде
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
/// <param name="lastRun"></param>
|
|
|
|
|
|
/// <param name="periodType"></param>
|
|
|
|
|
|
/// <param name="distributionPeriod"></param>
|
|
|
|
|
|
/// <returns></returns>
|
|
|
|
|
|
DateTimeOffset GetNextDateForDistributionRun(DateTimeOffset lastRun, DistributionPeriodTypeEnum periodType, string distributionPeriod);
|
2025-06-25 14:17:34 +10:00
|
|
|
|
|
|
|
|
|
|
|
2024-07-05 15:17:48 +10:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Получить дату начала периода распределения относительно опорной даты (Reference Date)
|
|
|
|
|
|
/// </summary>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
/// <param name="jobGroupId"></param>
|
2024-07-05 15:17:48 +10:00
|
|
|
|
/// <param name="date"></param>
|
|
|
|
|
|
/// <returns></returns>
|
2025-06-25 14:17:34 +10:00
|
|
|
|
Task<DateOnly> GetStartPeriodForDateAsync(Guid jobGroupId, DateTimeOffset date, DateTimeOffset refrenceDate, DistributionPeriodTypeEnum periodType, string distributionPeriod);
|
2023-10-17 09:42:18 +10:00
|
|
|
|
}
|
|
|
|
|
|
}
|