Example #1
0
        /// <summary>
        /// 获取列表
        /// </summary>
        /// <returns></returns>
        public static List <VModel.SyClass.Grid> GetGrid(VModel.SyClass.Index m)
        {
            List <VModel.SyClass.Grid> list   = new List <VModel.SyClass.Grid>();
            IQueryable <sy_class>      dbList = null;

            using (var db = new fz_basicEntities())
            {
                dbList = db.sy_class.Where(w => w.sy_grade.IsEnabled == true && w.sy_grade.IsGraduate == false).OrderByDescending(o => o.sy_grade.Year).ThenBy(o => o.Sort);

                if (m.GradeId != null)
                {
                    dbList = dbList.Where(w => w.GradeId == m.GradeId);
                }
                if (!string.IsNullOrWhiteSpace(m.Key))
                {
                    IQueryable <int> tIds = db.sy_teacher.Where(w => w.Name.Contains(m.Key)).Select(s => s.Id);
                    IQueryable <int> cIds = db.sy_teacher_and_class_and_subject.Where(w => tIds.Contains(w.TeacherId)).Select(s => s.ClassId).Distinct();
                    dbList = dbList.Where(w => cIds.Contains(w.Id));
                }

                list = dbList.Select(s => new VModel.SyClass.Grid
                {
                    Id           = s.Id,
                    Name         = s.Name,
                    GradeName    = s.sy_grade.Name,
                    Year         = s.sy_grade.Year,
                    Sort         = s.Sort,
                    StudentCount = s.sy_student.Where(w => w.UserId != null && w.sy_user.IsEnabled).Count(),
                    IsEnabled    = s.IsEnabled,
                    _GridTCS     = s.sy_teacher_and_class_and_subject.Select(s1 => new VModel.SyClass.GridTCS {
                        Subject = s1.Subject, TeacherId = s1.TeacherId
                    }).ToList()
                }).ToList();
            }

            return(list);
        }
Example #2
0
 public ActionResult Index(VModel.SyClass.Index m)
 {
     m.Grades = Bll.SyGradeBll.GetSelect();
     m.Grid   = Bll.SyClassBll.GetGrid(m);
     return(View(m));
 }