feat(dal): WeekendDayService - метод проверки на рабочий день
This commit is contained in:
@@ -208,7 +208,7 @@ namespace PARR.DAL.TransformServices
|
||||
|
||||
|
||||
//TODO: вот это повторяется от метода к методу
|
||||
//Если итоговая дата указывает на прошлое, то повторяем расчёт и ухоим в рекурсию
|
||||
//Если итоговая дата указывает на прошлое, то повторяем расчёт и уходим в рекурсию
|
||||
if (calcDay < DateTimeOffset.UtcNow)
|
||||
calcDay = GetNextDateRegularly(values, calcDay);
|
||||
|
||||
@@ -216,6 +216,7 @@ namespace PARR.DAL.TransformServices
|
||||
return calcDay;
|
||||
}
|
||||
|
||||
|
||||
private DateTimeOffset GetNextDateWeekly(List<EsppScheduleValDto> values, DateTimeOffset lastRun)
|
||||
{
|
||||
var dwNum = dwDict[values[0].Value.Value];
|
||||
@@ -233,6 +234,7 @@ namespace PARR.DAL.TransformServices
|
||||
return calcDay;
|
||||
}
|
||||
|
||||
|
||||
private DateTimeOffset GetNextDateMonthly(List<EsppScheduleValDto> values, DateTimeOffset lastRun)
|
||||
{
|
||||
int.TryParse(values[0].Value.Value, out int dayNum);
|
||||
@@ -247,6 +249,7 @@ namespace PARR.DAL.TransformServices
|
||||
return calcDay;
|
||||
}
|
||||
|
||||
|
||||
private DateTimeOffset GetNextDateMonthly2(List<EsppScheduleValDto> values, DateTimeOffset lastRun)
|
||||
{
|
||||
var orderNum = orderDict[values[0].Value.Value];
|
||||
@@ -268,6 +271,8 @@ namespace PARR.DAL.TransformServices
|
||||
|
||||
return calcDay;
|
||||
}
|
||||
|
||||
|
||||
private DateTimeOffset GetNextDateAnnually(List<EsppScheduleValDto> values, DateTimeOffset lastRun)
|
||||
{
|
||||
var monthNum = monthDict[values[0].Value.Value];
|
||||
@@ -283,6 +288,7 @@ namespace PARR.DAL.TransformServices
|
||||
return calcDay;
|
||||
}
|
||||
|
||||
|
||||
private DateTimeOffset GetNextDateAnnually2(List<EsppScheduleValDto> values, DateTimeOffset lastRun)
|
||||
{
|
||||
var monthADict = new Dictionary<string, int>
|
||||
@@ -322,6 +328,7 @@ namespace PARR.DAL.TransformServices
|
||||
return calcDay;
|
||||
}
|
||||
|
||||
|
||||
private List<DateTimeOffset> FindAllDaysInMonth(int dwNum, ref DateTimeOffset calcDay)
|
||||
{
|
||||
if (((int)calcDay.DayOfWeek) != dwNum)
|
||||
@@ -338,6 +345,7 @@ namespace PARR.DAL.TransformServices
|
||||
return daysList;
|
||||
}
|
||||
|
||||
|
||||
private void OffsetToDayOfWeek(int dwNum, ref DateTimeOffset calcDay)
|
||||
{
|
||||
var daysOffset = dwNum - ((int)calcDay.DayOfWeek);
|
||||
@@ -366,6 +374,7 @@ namespace PARR.DAL.TransformServices
|
||||
return lastRun;
|
||||
}
|
||||
|
||||
|
||||
private DateTimeOffset GetPrevDateForDistributionRun(DateTimeOffset lastRun, DistributionPeriodTypeEnum periodType, string distributionPeriod)
|
||||
{
|
||||
switch (periodType)
|
||||
@@ -383,6 +392,7 @@ namespace PARR.DAL.TransformServices
|
||||
return lastRun;
|
||||
}
|
||||
|
||||
|
||||
public async Task<DateOnly> GetStartPeriodForDateAsync(Guid applicationInWorkId, DateTimeOffset date, DateTimeOffset referenceDate, DistributionPeriodTypeEnum periodType, string distributionPeriod)
|
||||
{
|
||||
|
||||
@@ -422,6 +432,7 @@ namespace PARR.DAL.TransformServices
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
private DistributionPeriodTypeEnum ParseDistributionPeriodType(string value)
|
||||
{
|
||||
var result = (DistributionPeriodTypeEnum)Enum.Parse(typeof(DistributionPeriodTypeEnum), value);
|
||||
|
||||
Reference in New Issue
Block a user