/// <summary> /// Esteban Segura Benavides /// Check posibles conflicts with the new project schedule and the all commission schedule related with determinated professor /// </summary> /// <param name="pProfessorID"></param> /// <param name="pSchedules"></param> /// <returns>true if found any problem with the schedules</returns> public bool existShockScheduleCommission(int pProfessorID, List <ScheduleComission> pSchedules) { var vPeriod = Request.Cookies["Periodo"].Value; var vPeriodID = db.Periods.Find(int.Parse(vPeriod)).ID; //Get the day, starthour and endhour where professor was assign in commission var commission_schedule = db.SP_getProfessorScheduleCommission(pProfessorID, vPeriodID).ToList(); //Verify each scheedule with the new assign information foreach (var vNewSchedule in pSchedules) { foreach (var vActualScheduleCommission in commission_schedule) { if (vNewSchedule.Day.Equals(vActualScheduleCommission.Day)) { var vActualStartHour = DateTime.Parse(vActualScheduleCommission.StartHour); var vActualEndHour = DateTime.Parse(vActualScheduleCommission.EndHour); var vNewStartHour = DateTime.Parse(vNewSchedule.StartHour); var vNewEndHour = DateTime.Parse(vNewSchedule.EndHour); //Check the range of the schedule if ((vActualStartHour <= vNewStartHour && vNewStartHour <= vActualEndHour) || (vActualStartHour <= vNewEndHour && vNewEndHour <= vActualEndHour) || (vNewStartHour <= vActualStartHour && vActualStartHour <= vNewEndHour) || (vNewStartHour <= vActualEndHour && vActualEndHour <= vNewEndHour)) { return(true); } } } } return(false); }
private bool existScheduleConflictCommissionWithoutCommissionSelect(int pProfessorID, int pPeriodID, List <ScheduleComission> pSchedules, int pCommissionID) { //Get the day, starthour and endhour where professor was assign in commission var commission_schedule = db.SP_getProfessorScheduleCommission(pProfessorID, pPeriodID).ToList(); //Verify each scheedule with the new assign information foreach (var vNewSchedule in pSchedules) { foreach (var vActualScheduleCommission in commission_schedule) { if (vActualScheduleCommission.ID != pCommissionID) { bool vIsScheduleCorrect = verifyRange(vNewSchedule.Day, vActualScheduleCommission.Day, vActualScheduleCommission.StartHour, vActualScheduleCommission.EndHour, vNewSchedule.StartHour, vNewSchedule.EndHour); if (vIsScheduleCorrect) { return(vIsScheduleCorrect); } } } } return(false); }