// Obține data și ora curentă
DateTime dataCurenta = DateTime.Now;
// Obține luna curentă și luna următoare
int lunaCurenta = dataCurenta.Month;
int lunaUrmatoare = dataCurenta.AddMonths(1).Month;
//STOCHEZ DATE PE LUNA CURENTA
var DateCereriLunaCurenta = DateCereri.Where(date => date.Month == lunaCurenta)
.ToList();
//STOCHEZ DATE PE LUNA URMATOARE
var DateCereriLunaUrmatoare = DateCereri.Where(date => date.Month == lunaUrmatoare)
.ToList();
//STOCHEZ DATE REVIZUITE PE LUNA CURENTA
var dateRevizuiteLunaCurenta = await _context.DateRevizuite.Where(s => s.IdAngajat == angajatID && s.DataRevizuita.Month == lunaCurenta).ToListAsync();
//STOCHEZ DATE REVIZUITE PE LUNA URMATOARE
var dateRevizuiteLunaUrmatoare = await _context.DateRevizuite.Where(s => s.IdAngajat == angajatID && s.DataRevizuita.Month == lunaUrmatoare).ToListAsync();
//INDEXI
var counterCM = 0;
var counterNM = 0;
// Numărul maxim de zile permise
int maxDaysAllowed = 4;
// Calculul zilelor rămase pentru luna curentă
int dateRamaseLunaCurenta = Math.Max(0, maxDaysAllowed - (DateCereriLunaCurenta.Count() - dateRevizuiteLunaCurenta.Count()));
// Calculul zilelor rămase pentru luna următoare
int dateRamaseLunaUrmatoare = Math.Max(0, maxDaysAllowed - (DateCereriLunaUrmatoare.Count() - dateRevizuiteLunaUrmatoare.Count()));
//ACTUALIZEZ INDEXII
var selectedStartDates = new DateTime[] { selectedStartDate1, selectedStartDate2, selectedStartDate3, selectedStartDate4 };
foreach (var selectedStartDate in selectedStartDates)
{
if (selectedStartDate != DateTime.MinValue)
{
if (selectedStartDate.Month == lunaCurenta)
counterCM++;
else if (selectedStartDate.Month == lunaUrmatoare)
counterNM++;
}
}
//VALIDEZ;
if ((counterCM + (maxDaysAllowed - dateRamaseLunaCurenta)) > maxDaysAllowed)
{
return BadRequest(new { success = false, message = "Nu puteți alege mai mult de 4 date în luna curentă." });
}
if ((counterNM + (maxDaysAllowed - dateRamaseLunaCurenta)) > maxDaysAllowed)
{
return BadRequest(new { success = false, message = "Nu puteți alege mai mult de 4 date în luna următoare." });
}