public List <ClassScheduleFinal> GenerateFinalClassScheduleByDeptId(int deptId) { List <ClassScheduleTemp> classScheduleTemps = GenerateTemporaryClassScheduleByDeptId(deptId).OrderBy(a => a.CourseCode).ThenBy(a => DayIndex(a.Day)).ThenBy(a => a.From).ToList(); //List<ClassScheduleTemp> classScheduleTemps = GenerateTemporaryClassScheduleByDeptId(deptId).OrderBy(a => a.CourseCode).ToList(); List <ClassScheduleFinal> classScheduleFinals = new List <ClassScheduleFinal>(); if (classScheduleTemps.Count == 0) { return(classScheduleFinals); } string code, name, info, prev; info = ""; code = classScheduleTemps[0].CourseCode; name = classScheduleTemps[0].CourseName; info += GenerateInfoString(classScheduleTemps[0]); prev = code; for (int i = 1; i < classScheduleTemps.Count; i++) { ClassScheduleTemp aClassScheduleTemp = classScheduleTemps[i]; if (aClassScheduleTemp.CourseCode != prev) { ClassScheduleFinal aClassScheduleFinal = new ClassScheduleFinal(); aClassScheduleFinal.CourseCode = code; aClassScheduleFinal.CourseName = name; if (info == "") { aClassScheduleFinal.Info = "not scheduled yet"; } else { aClassScheduleFinal.Info = info; } classScheduleFinals.Add(aClassScheduleFinal); code = aClassScheduleTemp.CourseCode; name = aClassScheduleTemp.CourseName; info = ""; } info += GenerateInfoString(aClassScheduleTemp); prev = aClassScheduleTemp.CourseCode; } ClassScheduleFinal aClassScheduleFinal2 = new ClassScheduleFinal(); aClassScheduleFinal2.CourseCode = code; aClassScheduleFinal2.CourseName = name; if (info == "") { aClassScheduleFinal2.Info = "not scheduled yet"; } else { aClassScheduleFinal2.Info = info; } classScheduleFinals.Add(aClassScheduleFinal2); return(classScheduleFinals); }
public List <ClassScheduleFinal> GetFinalClassScheduleByDeptId(int deptId) { List <ClassRoutineView> classRoutineViews = GenerateTemporaryClassScheduleByDeptId(deptId); List <ClassScheduleFinal> classScheduleFinals = new List <ClassScheduleFinal>(); if (classRoutineViews.Count == 0) { return(classScheduleFinals); } string info = ""; string code = classRoutineViews[0].CourseCode; string name = classRoutineViews[0].CourseName; info += GetFullInformation(classRoutineViews[0]); var temp = code; for (int i = 1; i < classRoutineViews.Count; i++) { ClassRoutineView aClassScheduleTemp = classRoutineViews[i]; if (aClassScheduleTemp.CourseCode != temp) { ClassScheduleFinal aClassScheduleFinal = new ClassScheduleFinal(); aClassScheduleFinal.CourseCode = code; aClassScheduleFinal.CourseName = name; if (info == "") { aClassScheduleFinal.Info = "not scheduled yet"; } else { aClassScheduleFinal.Info = info; } classScheduleFinals.Add(aClassScheduleFinal); code = aClassScheduleTemp.CourseCode; name = aClassScheduleTemp.CourseName; info = ""; } info += GetFullInformation(aClassScheduleTemp); temp = aClassScheduleTemp.CourseCode; } ClassScheduleFinal aClassScheduleFinal2 = new ClassScheduleFinal(); aClassScheduleFinal2.CourseCode = code; aClassScheduleFinal2.CourseName = name; if (info == "") { aClassScheduleFinal2.Info = "not scheduled yet"; } else { aClassScheduleFinal2.Info = info; } classScheduleFinals.Add(aClassScheduleFinal2); return(classScheduleFinals); }