private bool PAADIsInRegisterPeriod(PAADViewModel paad) { var paadRegisterDate = DateTime.Now; var maxDaysToRegister = 15; IPeriodoRepository periodoRepository = new PeriodoRepository(); var period = periodoRepository.ReadPeriodoActual(); var registerPeriodStartDate = period.FechaInicio; var registerPeriodEndDate = period.FechaFin; IDiasNoHabilesRepository diasNoHabilesRepository = new DiasNoHabilesRepository(); var periodNonWorkingDays = diasNoHabilesRepository.GetDiasNoHabilesPeriodoActual(registerPeriodStartDate, registerPeriodEndDate).Count; var daysPassedSinceRegisterPeriodStart = paadRegisterDate.Subtract(registerPeriodStartDate).TotalDays - periodNonWorkingDays; if (daysPassedSinceRegisterPeriodStart <= maxDaysToRegister) { return(true); } else { return(false); } }
private bool PeriodoIsNotInsideCurrentPeriodo(Periodo periodo) { IPeriodoRepository periodoRepository = new PeriodoRepository(); var periodoActual = periodoRepository.ReadPeriodoActual(); if (periodoActual == null) { return(true); } if (periodo.FechaInicio >= periodoActual.FechaFin) { return(true); } else { return(false); } }
private bool PAADActividadIsOutsideOfCurrentPeriod(PAADActividadViewModel entity) { var periodoRepository = new PeriodoRepository(); var currentPeriodo = periodoRepository.ReadPeriodoActual(); var PAADActividadStartDate = entity.FechaInicio; var PAADActividadEndDate = entity.FechaFinalizacion; if (PAADActividadStartDate < currentPeriodo.FechaInicio || PAADActividadEndDate > currentPeriodo.FechaFin || (PAADActividadStartDate < currentPeriodo.FechaInicio && PAADActividadEndDate > currentPeriodo.FechaFin)) { return(true); } else { return(false); } }
private bool DocentePAADDoesNotExistAlreadyInCurrentPeriod(PAADViewModel paad) { IPeriodoRepository periodoRepository = new PeriodoRepository(); var period = periodoRepository.ReadPeriodoActual(); IPAADRepository paadRepository = new PAADRepository(); var paadDocenteId = paad.DocenteId; var existingPAAD = paadRepository.ReadPAADs(paadDocenteId, period); if (existingPAAD == null) { return(true); } else { return(false); } }