コード例 #1
0
        private bool CheckTeacherTime(TeacherCourse aTeacherCourse)
        {
            aTeacherGateway = new TeacherGateway();
            ScheduleGateway aScheduleGateway = new ScheduleGateway();
            List <int>      coursesId        = new List <int>();

            coursesId = aTeacherGateway.GetTeacherAssignCoursesId(aTeacherCourse);
            List <Schedule> schedules = new List <Schedule>();

            schedules = aScheduleGateway.GetTeacherAllSchedules(coursesId);
            List <Schedule> currentScheduleList = new List <Schedule>();

            currentScheduleList = aScheduleGateway.GetCurrentCourseSchedules(aTeacherCourse);
            foreach (Schedule schedule in currentScheduleList)
            {
                foreach (Schedule aSchedule in schedules)
                {
                    if (schedule.DayId == aSchedule.DayId && ((schedule.StartTime <= aSchedule.StartTime && schedule.EndingTime >= aSchedule.StartTime) || (schedule.StartTime <= aSchedule.EndingTime & schedule.EndingTime >= aSchedule.EndingTime)))
                    {
                        return(true);
                    }
                }
            }
            return(false);
        }
コード例 #2
0
        private bool CheckRoomAndTimeScheduleOverlap(Schedule aSchedule)
        {
            aScheduleGateway = new ScheduleGateway();
            int status = aScheduleGateway.CheckRoomAndTimeScheduleOverlap(aSchedule);

            if (status > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #3
0
        private bool CheckDepartmentAndSubjectOverlap(Schedule aSchedule)
        {
            aScheduleGateway = new ScheduleGateway();
            int status = aScheduleGateway.CheckDepartmentAndSubjectOverlap(aSchedule);

            if (status > 0)
            {
                return(true);
            }
            return(false);
        }
コード例 #4
0
 static public string Insert_Schedule(Schedule aSchedule)
 {
     if (ScheduleGateway.Check_Schedule(aSchedule))
     {
         return("\n\tSorry, this Schedule is aleady booked ."
                + "\n\tEnter Another one .");
     }
     if (ScheduleGateway.Insert_Into_Database(aSchedule) >= 1)
     {
         return("\n\tYour Schedule is saved .");
     }
     return("\n\tCan not save schedule .");
 }
コード例 #5
0
        public string SaveClassSchedule(Schedule aSchedule)
        {
            aScheduleGateway = new ScheduleGateway();

            if (!CheckRoomAndTimeScheduleOverlap(aSchedule))
            {
                if (!CheckDepartmentAndSubjectOverlap(aSchedule))
                {
                    return(aScheduleGateway.SaveClassSchedule(aSchedule));
                }
                else
                {
                    return("Violation of Department or semester ");
                }
            }
            else
            {
                return("Violation of Room or Time or day or building");
            }
        }
コード例 #6
0
        static public List <Schedule> Get_All(DateTime startTime,
                                              DateTime endTime)
        {
            List <Schedule> scheduleList         = ScheduleGateway.Get_All();
            List <Schedule> modifiedScheduleList = new List <Schedule>();

            foreach (Schedule aSchedule in scheduleList)
            {
                TimeSpan afterStartTime = aSchedule.Date_S - startTime;
                TimeSpan beforeEndTime  = endTime - aSchedule.Date_S;
                if ((Convert.ToInt32(afterStartTime.Days) >= 0) &&
                    (Convert.ToInt32(beforeEndTime.Days) >= 0) &&
                    (Convert.ToInt32(beforeEndTime.Hours) >= 0))
                {
                    modifiedScheduleList.Add(aSchedule);
                }
            }

            return(modifiedScheduleList);
        }
コード例 #7
0
 public List <Room> GetAllRooms(int buildingId)
 {
     aScheduleGateway = new ScheduleGateway();
     return(aScheduleGateway.GetAllRooms(buildingId));
 }
コード例 #8
0
 public List <Building> GetAllBuildings()
 {
     aScheduleGateway = new ScheduleGateway();
     return(aScheduleGateway.GetAllBuildings());
 }
コード例 #9
0
 public List <Day> GetAllDays()
 {
     aScheduleGateway = new ScheduleGateway();
     return(aScheduleGateway.GetAllDays());
 }
コード例 #10
0
 static public List <Schedule> Get_All(int vehicleId)
 {
     return(ScheduleGateway.Get_All(vehicleId));
 }
コード例 #11
0
 static public List <string> Get_Shift()
 {
     return(ScheduleGateway.Get_Shift());
 }