Example #1
0
        static public List <SHSchool.Data.SHStudentRecord> SHSchoolData_SHStudentRecord(List <SHSchool.Data.SHStudentRecord> StudentList)
        {
            //整理出學生&班級資料清單
            List <string> classIDList = new List <string>();

            foreach (SHSchool.Data.SHStudentRecord student in StudentList)
            {
                if (!string.IsNullOrEmpty(student.RefClassID))
                {
                    if (!classIDList.Contains(student.RefClassID))
                    {
                        classIDList.Add(student.RefClassID);
                    }
                }
            }
            //一次取得班級清單
            List <SHSchool.Data.SHClassRecord> classList = SHSchool.Data.SHClass.SelectByIDs(classIDList);
            //班級ID對照清單
            Dictionary <string, SHSchool.Data.SHClassRecord> classDic = new Dictionary <string, Data.SHClassRecord>();

            foreach (SHSchool.Data.SHClassRecord classRecord in classList)
            {
                if (!classDic.ContainsKey(classRecord.ID))
                {
                    classDic.Add(classRecord.ID, classRecord);
                }
            }

            List <StudentSortObj_SHSchoolData> list = new List <StudentSortObj_SHSchoolData>();

            foreach (SHSchool.Data.SHStudentRecord student in StudentList)
            {
                if (!string.IsNullOrEmpty(student.RefClassID))
                {
                    StudentSortObj_SHSchoolData obj = new StudentSortObj_SHSchoolData(classDic[student.RefClassID], student);
                    list.Add(obj);
                }
                else
                {
                    StudentSortObj_SHSchoolData obj = new StudentSortObj_SHSchoolData(null, student);
                    list.Add(obj);
                }
            }
            list.Sort(SortSHSchoolData_SHStudentRecord);

            return(list.Select(x => x._StudentRecord).ToList());
        }
Example #2
0
 static private int SortSHSchoolData_SHStudentRecord(StudentSortObj_SHSchoolData obj1, StudentSortObj_SHSchoolData obj2)
 {
     return(obj1._SortString.CompareTo(obj2._SortString));
 }