public ActionResult ReportClass(Models.PerformComment.ReportClass vm) { if (vm.ClassId == 0 || vm.ClassId == null) { return(Code.MvcHelper.Post(null, Url.Action("ReportAll", new { yearId = vm.YearId }))); } else { return(Code.MvcHelper.Post(null, Url.Action("ReportClass", new { yearId = vm.YearId, classId = vm.ClassId }))); } }
public ActionResult ReportClass() { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.PerformComment.ReportClass(); vm.YearList = Basis.Controllers.YearController.SelectList(Code.EnumHelper.YearType.Section); if (vm.YearId == 0 && vm.YearList.Count > 0) { vm.YearId = vm.YearList.OrderByDescending(d => d.Selected).FirstOrDefault().Value.ConvertToInt(); } vm.ClassList = Basis.Controllers.ClassController.SelectList(vm.YearId); vm.ReportClassList = (from p in db.Table <Basis.Entity.tbClassStudent>() where p.tbClass.Id == vm.ClassId && p.tbStudent.IsDeleted == false && (p.tbStudent.StudentCode.Contains(vm.SearchText) || p.tbStudent.StudentName.Contains(vm.SearchText)) orderby p.tbStudent.StudentCode select new Dto.PerformComment.ReportClass { Id = p.Id, StudentId = p.tbStudent.Id, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName }).ToList(); var data = (from p in db.Table <Perform.Entity.tbPerformComment>() join q in db.Table <Basis.Entity.tbClassStudent>() on p.tbStudent.Id equals q.tbStudent.Id where p.tbYear.Id == vm.YearId select new { StudentId = p.tbStudent.Id, CommentId = p.Id }).ToList(); foreach (var a in vm.ReportClassList) { var exist = data.Where(d => d.StudentId == a.StudentId).FirstOrDefault(); if (exist != null) { a.Status = true; a.CommentId = exist.CommentId; } } return(View(vm)); } }