/// <summary> /// Check if a schedule with pDay, pStartHour and pEndHour exist, if exist return the value include id from database /// else create and return values from database /// </summary> /// <param name="pDay"></param> /// <param name="pStartHour"></param> /// <param name="pEndHour"></param> /// <returns></returns> private Schedule existSchedule(string pDay, string pStartHour, string pEndHour) { var vSchedule = db.Schedules.Where(p => p.Day == pDay && p.StartHour == pStartHour && p.EndHour == pEndHour).FirstOrDefault(); if (vSchedule != null) { return vSchedule; } else { //Create schedule and get id Schedule vNewSchedule = new Schedule(); vNewSchedule.Day = pDay; vNewSchedule.StartHour = pStartHour; vNewSchedule.EndHour = pEndHour; vNewSchedule.CommissionsXProfessors = new List<CommissionXProfessor>(); db.Schedules.Add(vNewSchedule); //db.SaveChanges(); //vSchedule = db.Schedules.Where(p => p.Day == pDay && p.StartHour == pStartHour && p.EndHour == pEndHour).FirstOrDefault(); //db.SaveChanges(); return vNewSchedule; } //select * from Schedule where Day='Domingo' AND StartHour = '07:30 am' AND EndHour = '09:20 am' }
/// <summary> /// Check if a schedule with pDay, pStartHour and pEndHour exist, if exist return the value include id from database /// else create and return values from database /// </summary> /// <param name="pDay"></param> /// <param name="pStartHour"></param> /// <param name="pEndHour"></param> /// <returns></returns> private Schedule existSchedule(string pDay, string pStartHour, string pEndHour) { var vSchedule = db.Schedules.Where(p => p.Day == pDay && p.StartHour == pStartHour && p.EndHour == pEndHour).FirstOrDefault(); if (vSchedule != null) { return vSchedule; } else { //Create schedule and get id Schedule vNewSchedule = new Schedule(); vNewSchedule.Day = pDay; vNewSchedule.StartHour = pStartHour; vNewSchedule.EndHour = pEndHour; vNewSchedule.ProjectsXProfessors = new List<ProjectXProfessor>(); db.Schedules.Add(vNewSchedule); return vNewSchedule; } }
public bool isValidScheduleClassroom(Schedule pNewSchedule, int pClassroomID, int pGroupID) { var vPeriod = Request.Cookies["Periodo"].Value; var vPeriodID = db.Periods.Find(int.Parse(vPeriod)).ID; var vSchedule = (from schedule in db.Schedules join groupclass in db.GroupClassrooms on schedule.ID equals groupclass.ScheduleID join g in db.Groups on groupclass.GroupID equals g.ID where (groupclass.GroupID != pGroupID && groupclass.ClassroomID == pClassroomID && schedule.Day == pNewSchedule.Day && g.PeriodID == vPeriodID) select schedule).ToList(); foreach (Schedule tempSchedule in vSchedule) { DateTime vTempScheduleStartHour = DateTime.Parse(tempSchedule.StartHour); DateTime vTempScheduleEndHour = DateTime.Parse(tempSchedule.EndHour); DateTime vNewScheduleStartHour = DateTime.Parse(pNewSchedule.StartHour); DateTime vNewScheduleEndHour = DateTime.Parse(pNewSchedule.EndHour); if ((vTempScheduleStartHour <= vNewScheduleStartHour && vNewScheduleStartHour <= vTempScheduleEndHour) || (vTempScheduleStartHour <= vNewScheduleEndHour && vNewScheduleEndHour <= vTempScheduleEndHour) || (vNewScheduleStartHour <= vTempScheduleStartHour && vTempScheduleStartHour <= vNewScheduleEndHour) || (vNewScheduleStartHour <= vTempScheduleEndHour && vTempScheduleEndHour <= vNewScheduleEndHour)) { return false; } } return true; }