예제 #1
0
        public static Models.Mixed.UIClass GetClassByID(this CLCase cl, string classID)
        {
            var f = cl.Classes.FirstOrDefault(c => c.ID == classID);

            if (f != null)
            {
                var model = new Models.Mixed.UIClass()
                {
                    ID         = f.ID,
                    CourseID   = f.CourseID,
                    Capacity   = f.Capacity,
                    LevelID    = f.LevelID,
                    StudentIDs = f.StudentIDs,
                    TeacherIDs = f.TeacherIDs,
                };

                var course = cl.Courses.FirstOrDefault(c => c.ID.Equals(f.CourseID));
                if (course != null)
                {
                    var level = course.Levels.FirstOrDefault(l => l.ID.Equals(model.LevelID));
                    model.Name   = f.Name;
                    model.Level  = level?.Name;
                    model.Course = course.Name;
                }
                return(model);
            }
            else
            {
                return(null);
            }
        }
예제 #2
0
        /// <summary>
        /// 根据教师ID获取班级
        /// </summary>
        /// <param name="cl"></param>
        /// <param name="teacherID">教师ID</param>
        /// <returns></returns>
        public static List <Models.Mixed.UIClass> GetClassesByTeacherID(this CLCase cl, string teacherID)
        {
            List <Models.Mixed.UIClass> classes = new List <Models.Mixed.UIClass>();

            var classHours = (from ch in cl.ClassHours where ch.TeacherIDs.Contains(teacherID) select ch);

            var groups = classHours?.GroupBy(g => g.ClassID);

            if (groups != null)
            {
                foreach (var g in groups)
                {
                    var classModel = cl.Classes.FirstOrDefault(ch => ch.ID.Equals(g.Key));
                    if (classModel != null)
                    {
                        Models.Mixed.UIClass ui = new Models.Mixed.UIClass()
                        {
                            ID   = classModel.ID,
                            Name = classModel.Name,
                        };
                        classes.Add(ui);
                    }
                }
            }
            return(classes);
        }
예제 #3
0
        /// <summary>
        /// 获取班级,根据课程ID
        /// </summary>
        /// <param name="cl"></param>
        /// <param name="courseID"></param>
        /// <returns></returns>
        public static List <Models.Mixed.UIClass> GetClasses(this CLCase cl, string courseID)
        {
            List <Models.Mixed.UIClass> classes = new List <Models.Mixed.UIClass>();

            var filter = cl.Classes.Where(c => c.CourseID.Equals(courseID));

            if (filter != null)
            {
                foreach (var f in filter)
                {
                    var model = new Models.Mixed.UIClass()
                    {
                        ID         = f.ID,
                        CourseID   = f.CourseID,
                        Capacity   = f.Capacity,
                        LevelID    = f.LevelID,
                        StudentIDs = f.StudentIDs,
                        TeacherIDs = f.TeacherIDs,
                    };

                    var course = cl.Courses.FirstOrDefault(c => c.ID.Equals(f.CourseID));
                    if (course != null)
                    {
                        var level = course.Levels.FirstOrDefault(l => l.ID.Equals(model.LevelID));
                        model.Name   = f.Name;
                        model.Level  = level?.Name;
                        model.Course = course.Name;
                    }

                    classes.Add(model);
                }
            }
            return(classes);
        }
예제 #4
0
        public static Models.Mixed.UIClass GetClassByID(this ResultModel r, string classID)
        {
            var f = r.Classes.FirstOrDefault(c => c.ID.Equals(classID));

            if (f != null)
            {
                var model = new Models.Mixed.UIClass()
                {
                    ID       = f.ID,
                    CourseID = f.CourseID,
                    LevelID  = f.LevelID,
                    Name     = f.Name
                };
                var course = r.Courses.FirstOrDefault(c => c.ID.Equals(f.CourseID));
                if (course != null)
                {
                    var level = course.Levels.FirstOrDefault(l => l.ID.Equals(model.LevelID));
                    model.Name   = f.Name;
                    model.Level  = level?.Name;
                    model.Course = course.Name;
                }
                return(model);
            }
            else
            {
                return(null);
            }
        }