예제 #1
0
        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);
        }