public ActionResult GetTeacherVerticalResult(string teacherName, DateTime startTime, DateTime endTime) { var business = new DormExamBusiness(Db); var condition = new DormExamSearchCondition { DepartmentId = 0, MajorId = 0, Grade = "全部", ClassInfoId = 0, TeacherName = teacherName }; var list = business.SearchDormExam(condition); var result = list.Where(u => u.Time <= endTime && u.Time >= startTime).ToList(); return Content(JsonConvert.SerializeObject(business.CalculateTeacherVertical(result))); }
public ActionResult GetStudentVerticalResult(int departmentId, int majorId, string grade, int classId, DateTime startTime, DateTime endTime) { var business = new DormExamBusiness(Db); var condition = new DormExamSearchCondition { DepartmentId = departmentId, MajorId = majorId, Grade = grade, ClassInfoId = classId }; var list = business.SearchDormExam(condition); var result = list.Where(u => u.Time <= endTime && u.Time >= startTime).ToList(); return Content(JsonConvert.SerializeObject(business.CalculateTeacherVertical(result))); }
public ActionResult GetTeacherHorizontalResult(int departmentId) { var business = new DormExamBusiness(Db); var condition = new DormExamSearchCondition { DepartmentId = departmentId, MajorId = 0, Grade = "全部", ClassInfoId = 0 }; var json = JsonConvert.SerializeObject(business.CalculateTeacherHorizontal(business.SearchDormExam(condition)), DateTimeConverter); return Content(json); }
public List<DormExam> SearchDormExam(DormExamSearchCondition condition) { var where = PredicateExtensionses.True<DormExam>(); if (!String.IsNullOrEmpty(condition.SchoolYear)) { where = where.And(u => u.SchoolYear == condition.SchoolYear); } if (!String.IsNullOrEmpty(condition.Week) && condition.Week != "全部") { where = where.And(u => u.Week == condition.Week); } if (condition.ExamTypeId != 0) { @where = where.And(u => u.DormExamType.Id == condition.ExamTypeId); } if (!String.IsNullOrEmpty(condition.Irregularity) && condition.Irregularity != "全部") { @where = condition.Irregularity == "是" ? @where.And(u => u.Irregularity.Name != "无") : @where.And(u => u.Irregularity.Name == "无"); } if (!String.IsNullOrEmpty(condition.Review) && condition.Review != "全部") { @where = condition.Review == "是" ? @where.And(u => u.Review == 1) : @where.And(u => u.Review == 0); } if (!String.IsNullOrEmpty(condition.DormNum)) { where = where.And(u => u.DormInfo.Num == condition.DormNum); if (String.IsNullOrEmpty(condition.StudentName)) { return Db.DormExams.Where(where).ToList(); } } if (!String.IsNullOrEmpty(condition.StudentName)) { var dormSimpleList = Db.DormInfoSimples.Where(u => u.StudentName == condition.StudentName).ToList(); if (dormSimpleList.Count > 0) { var dormNum = dormSimpleList[0].Dorm.Num; where = where.And(u => u.DormInfo.Num == dormNum); return Db.DormExams.Where(where).ToList(); } @where = @where.And(u => false); return Db.DormExams.Where(@where).ToList(); } if (!String.IsNullOrEmpty(condition.TeacherName)) { var dormSimpleList = Db.DormInfoSimples.Where(u => u.TeacherName == condition.TeacherName).ToList(); if (dormSimpleList.Count > 0) { // var dormNumList = dormSimpleList.Select(u => u.Dorm.Num).ToList(); where = where.And(u => false); foreach (var i in dormNumList) { //var dormNum = dormSimpleList[0].Dorm.Num; where = where.Or(u => u.DormInfo.Num == i); } return Db.DormExams.Where(where).ToList(); } @where = @where.And(u => false); return Db.DormExams.Where(@where).ToList(); } var list = Db.DormExams.Where(where).ToList(); if (condition.DepartmentId != 0 && condition.MajorId == 0 && condition.Grade == "全部" && condition.ClassInfoId == 0) { var dormSimpleList = Db.DormInfoSimples.Where(u => u.ClassInfo.Major.Department.Id == condition.DepartmentId).Select(u => u.Dorm.Num).ToList(); for (var i = list.Count - 1; i >= 0; i--) { if (!dormSimpleList.Contains(list[i].DormInfo.Num)) { list.Remove(list[i]); } } } if (condition.DepartmentId != 0 && condition.MajorId != 0 && condition.Grade == "全部" && condition.ClassInfoId == 0) { var dormSimpleList = Db.DormInfoSimples.Where(u => u.ClassInfo.Major.Id == condition.MajorId).Select(u => u.Dorm.Num).ToList(); for (var i = list.Count - 1; i >= 0; i--) { if (!dormSimpleList.Contains(list[i].DormInfo.Num)) { list.Remove(list[i]); } } } if (condition.DepartmentId != 0 && condition.MajorId != 0 && condition.Grade != "全部" && condition.ClassInfoId == 0) { var dormSimpleList = Db.DormInfoSimples.Where(u => u.ClassInfo.Grade == condition.Grade).Select(u => u.Dorm.Num).ToList(); for (var i = list.Count - 1; i >= 0; i--) { if (!dormSimpleList.Contains(list[i].DormInfo.Num)) { list.Remove(list[i]); } } } if (condition.DepartmentId != 0 && condition.MajorId != 0 && condition.ClassInfoId != 0) { var dormSimpleList = Db.DormInfoSimples.Where(u => u.ClassInfo.Id == condition.ClassInfoId).Select(u => u.Dorm.Num); for (var i = list.Count - 1; i >= 0; i--) { if (!dormSimpleList.Contains(list[i].DormInfo.Num)) { list.Remove(list[i]); } } } return list; }
public ActionResult Search(DormExamSearchCondition condition) { var business = new DormExamBusiness(Db); var json = JsonConvert.SerializeObject(business.SearchDormExam(condition)); return Content(json); }