diff --git a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs index 64de1270..5fd09cac 100644 --- a/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs +++ b/CompanyManagment.EFCore/Repository/RollCallMandatoryRepository.cs @@ -1460,41 +1460,37 @@ public class RollCallMandatoryRepository : RepositoryBase, IRoll for (var da = startDateAndTime; da <= endContract; da = da.AddHours(36)) { - if (end.TimeOfDay < start.TimeOfDay) - end = end.AddDays(1); + var currentDateFa = $"{da}"; - - string startComplex = start.ToString("HH:mm"); - string endComplex = end.ToString("HH:mm"); - DateTime currntDateGr = currentDateFa.ToGeorgianDateTime(); + var currentDateGr = da.ToGregorianDateTime(); if (da == startContract) { + start = new DateTime(currentDateGr.Year, currentDateGr.Month, currentDateGr.Day, start.Hour, start.Minute, 0); + end = new DateTime(currentDateGr.Year, currentDateGr.Month, currentDateGr.Day, end.Hour, end.Minute, 0); + if (start.Date == end.Date && start.TimeOfDay > end.TimeOfDay) + end = end.AddDays(1); + } + + var startComplex = new DateTime(start.Year, start.Month, start.Day, start.Hour, start.Minute, + start.Second); + var endComplex = new DateTime(end.Year, end.Month, end.Day, end.Hour, end.Minute, + end.Second); + Console.WriteLine($"{currentDateFa} - {currentDateGr.Date} - start : {startComplex} end : {endComplex}"); + DateTime currntDateGr = currentDateFa.ToGeorgianDateTime(); + var res = FindStaticShiftsStatus( - startComplex, - endComplex, + startComplex.ToString("HH:mm"), + endComplex.ToString("HH:mm"), null, null, currntDateGr, TimeSpan.Zero, leaveSearchResult); if (res.Count > 0) rollCallList.AddRange(res); - } - else - { + - - - - var res = FindStaticShiftsStatus( - startComplex, - endComplex, - null, - null, currntDateGr, TimeSpan.Zero, leaveSearchResult); - if (res.Count > 0) - rollCallList.AddRange(res); - } var endCal = end - start; - var nextStart = start.AddHours(36); - end = nextStart.Add(endCal); + start = startComplex.AddHours(36); + end = start.Add(endCal); } }