public ActionResult List(Models.StudyData.List vm) { return(Code.MvcHelper.Post(null, Url.Action("List", new { searchText = vm.SearchText, studyId = vm.StudyId, roomOrClassId = vm.RoomOrClassId, dateSearch = vm.DateSearch }))); }
public ActionResult List() { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.StudyData.List(); vm.StudyList = Controllers.StudyController.SelectList(); if (string.IsNullOrEmpty(vm.DateSearch)) { vm.DateSearch = DateTime.Now.AddDays(0).ToString("yyyy-MM-dd"); } var vDateSearch = Convert.ToDateTime(vm.DateSearch); if (vm.StudyId == 0 && vm.StudyList.Count > 0) { vm.StudyId = vm.StudyList.FirstOrDefault().Value.ConvertToInt(); } var tbStudy = (from p in db.Table <Study.Entity.tbStudy>() where p.Id == vm.StudyId && p.tbYear.IsDeleted == false select p).FirstOrDefault(); if (tbStudy != null) { vm.IsRoomType = tbStudy.IsRoom;//赋值自习模式 var tbStudyDataList = from p in db.Table <Study.Entity.tbStudyData>() where p.InputDate.Day == vDateSearch.Day && p.tbStudy.Id == vm.StudyId && p.tbStudent.IsDeleted == false && p.tbStudyOption.IsDeleted == false && p.tbSysUser.IsDeleted == false select p; //教室模式 if (tbStudy.IsRoom) { vm.RoomOrClassList = Controllers.StudyRoomController.SelectList(vm.StudyId); vm.RoomOrClassList.Insert(0, new SelectListItem { Text = "", Value = "0" }); var tb = from p in db.Table <Study.Entity.tbStudyRoomStudent>() where p.tbStudy.Id == vm.StudyId && p.tbRoom.Id == vm.RoomOrClassId && p.tbStudy.IsDeleted == false && p.tbRoom.IsDeleted == false && p.tbStudent.IsDeleted == false select p; if (string.IsNullOrEmpty(vm.SearchText) == false) { tb = tb.Where(d => d.tbStudent.StudentCode.Contains(vm.SearchText) || d.tbStudent.StudentName.Contains(vm.SearchText)); } vm.StudyDataList = (from p in tb orderby p.tbStudent.StudentCode select new Dto.StudyData.List { Id = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.Id).FirstOrDefault(), InputDate = vDateSearch, RoomName = p.tbRoom.RoomName, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName, SexName = p.tbStudent.tbSysUser.tbSex.SexName, StudentId = p.tbStudent.Id, StudyId = vm.StudyId, StudyOptionName = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.tbStudyOption.StudyOptionName).FirstOrDefault(), Remark = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.Remark).FirstOrDefault(), SysUserName = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.tbSysUser.UserName).FirstOrDefault() }).ToList(); } else//班级模式 { vm.RoomOrClassList = Controllers.StudyClassController.SelectList(vm.StudyId); vm.RoomOrClassList.Insert(0, new SelectListItem { Text = "", Value = "0" }); var tb = from p in db.Table <Study.Entity.tbStudyClassStudent>() where p.tbStudy.Id == vm.StudyId && p.tbClass.Id == vm.RoomOrClassId && p.tbStudy.IsDeleted == false && p.tbClass.IsDeleted == false && p.tbStudent.IsDeleted == false select p; if (string.IsNullOrEmpty(vm.SearchText) == false) { tb = tb.Where(d => d.tbStudent.StudentCode.Contains(vm.SearchText) || d.tbStudent.StudentName.Contains(vm.SearchText)); } vm.StudyDataList = (from p in tb orderby p.tbStudent.StudentCode select new Dto.StudyData.List { Id = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.Id).FirstOrDefault(), InputDate = vDateSearch, RoomName = p.tbClass.tbRoom.RoomName, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName, SexName = p.tbStudent.tbSysUser.tbSex.SexName, StudentId = p.tbStudent.Id, StudyId = vm.StudyId, StudyOptionName = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.tbStudyOption.StudyOptionName).FirstOrDefault(), Remark = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.Remark).FirstOrDefault(), SysUserName = tbStudyDataList.Where(d => d.InputDate.Day == vDateSearch.Day && d.tbStudent.Id == p.tbStudent.Id).Select(d => d.tbSysUser.UserName).FirstOrDefault() }).ToList(); } } return(View(vm)); } }