public ActionResult List(Models.PerformChange.List vm) { return(Code.MvcHelper.Post(null, Url.Action("List", new { searchText = vm.SearchText, performId = vm.PerformId, classId = vm.ClassId }))); }
public ActionResult List() { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.PerformChange.List(); vm.PerformList = Perform.Controllers.PerformController.SelectList(); if (vm.PerformId == 0 && vm.PerformList.Count > 0) { vm.PerformId = vm.PerformList.FirstOrDefault().Value.ConvertToInt(); } vm.ClassList = SelectOrgList(vm.PerformId); if (vm.ClassList.Count > 0 && vm.ClassId > 0) { if (vm.ClassList.Where(d => d.Value.ConvertToInt() == vm.ClassId).Count() == decimal.Zero) { vm.ClassId = vm.ClassList.FirstOrDefault().Value.ConvertToInt(); } } if (vm.ClassId == 0 && vm.ClassList.Count > 0) { vm.ClassId = vm.ClassList.FirstOrDefault().Value.ConvertToInt(); } if (vm.ClassList.Count() == decimal.Zero) { vm.ClassId = 0; } vm.OrgSelectInfo = SelectOrgSelectInfo(db, vm.ClassList, vm.PerformId); var tbOrg = (from p in db.Table <Course.Entity.tbOrg>() .Include(d => d.tbClass) .Include(d => d.tbYear) .Include(d => d.tbCourse) where p.Id == vm.ClassId select p).FirstOrDefault(); if (tbOrg != null) { var tbPerformGroupIds = (from p in db.Table <Perform.Entity.tbPerformCourse>() where p.tbCourse.Id == tbOrg.tbCourse.Id && p.tbPerformGroup.tbPerform.Id == vm.PerformId && p.tbCourse.IsDeleted == false && p.tbPerformGroup.IsDeleted == false select p.tbPerformGroup.Id).ToList(); vm.PerformItemList = (from p in db.Table <Perform.Entity.tbPerformItem>() where tbPerformGroupIds.Contains(p.tbPerformGroup.Id) && p.tbPerformGroup.tbPerform.Id == vm.PerformId && p.tbPerformGroup.IsDeleted == false && p.IsMany == false && p.IsSelect == false orderby p.No select new Dto.PerformItem.List { Id = p.Id, Rate = p.Rate, ScoreMax = p.ScoreMax, PerformItemName = p.PerformItemName } ).ToList(); vm.PerformChangeDataList = (from p in db.Table <Perform.Entity.tbPerformData>() where p.tbPerformItem.tbPerformGroup.tbPerform.Id == vm.PerformId && p.tbPerformItem.IsDeleted == false && p.tbPerformItem.tbPerformGroup.IsDeleted == false && p.tbStudent.IsDeleted == false && p.tbCourse.IsDeleted == false && p.tbPerformItem.IsMany == false && p.tbPerformItem.IsSelect == false select new Dto.PerformChange.List { PerformItemId = p.tbPerformItem.Id, Score = p.Score, StudentId = p.tbStudent.Id, CourseId = p.tbCourse.Id }).ToList(); vm.PerformTotalList = (from p in db.Table <Perform.Entity.tbPerformTotal>() where p.tbPerform.Id == vm.PerformId && p.tbCourse.Id == tbOrg.tbCourse.Id && p.tbStudent.IsDeleted == false && p.tbCourse.IsDeleted == false && p.tbPerform.IsDeleted == false select new Dto.PerformTotal.List { Id = p.Id, PerformId = p.tbPerform.Id, CourseId = p.tbCourse.Id, PerformName = p.tbPerform.PerformName, CourseName = p.tbCourse.CourseName, StudentId = p.tbStudent.Id, StudentName = p.tbStudent.StudentName, TotalScore = p.TotalScore }).ToList(); var orgStudentList = new List <Dto.PerformData.List>(); if (tbOrg.IsClass) { if (tbOrg.tbClass != null) { orgStudentList = (from p in db.Table <Basis.Entity.tbClassStudent>() where p.tbClass.Id == tbOrg.tbClass.Id && p.tbStudent.IsDeleted == false && p.tbClass.IsDeleted == false orderby p.No, p.tbStudent.StudentCode select new Dto.PerformData.List { No = p.No.ToString(), StudentId = p.tbStudent.Id, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName, CourseId = tbOrg.tbCourse.Id, }).ToList(); } } else { orgStudentList = (from p in db.Table <Course.Entity.tbOrgStudent>() where p.tbOrg.Id == vm.ClassId && p.tbStudent.IsDeleted == false && p.tbOrg.IsDeleted == false orderby p.No, p.tbStudent.StudentCode select new Dto.PerformData.List { No = p.No.ToString(), StudentId = p.tbStudent.Id, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName, CourseId = tbOrg.tbCourse.Id }).ToList(); } if (string.IsNullOrEmpty(vm.SearchText) == false) { orgStudentList = (from p in orgStudentList where p.StudentCode.Contains(vm.SearchText) || p.StudentName.Contains(vm.SearchText) select p).ToList(); } vm.PerformChangeList = (from p in orgStudentList select new Dto.PerformChange.List { No = p.No == null ? "" : p.No.ToString(), StudentCode = p.StudentCode.ToString(), StudentName = p.StudentName.ToString(), StudentId = p.StudentId, CourseId = p.CourseId, PerformItemList = vm.PerformItemList }).ToList(); } return(View(vm)); } }