public ActionResult Edit(int id = 0) { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.ClassAllotStudent.Edit(); vm.GradeList = GradeController.SelectList(); vm.ClassTypeList = ClassTypeController.SelectList(); vm.YearList = YearController.SelectList(Code.EnumHelper.YearType.Year); if (vm.ClassAllotStudentEdit.YearId == 0 && vm.YearList.Count > 0) { vm.ClassAllotStudentEdit.YearId = vm.YearList.OrderByDescending(d => d.Selected).FirstOrDefault().Value.ConvertToInt(); } if (id != 0) { vm.ClassAllotStudentEdit = (from p in db.Table <Basis.Entity.tbClassAllotStudent>() where p.Id == id select new Dto.ClassAllotStudent.Edit { Id = p.Id, YearId = p.tbYear.Id, ClassTypeId = p.tbClassType.Id, GradeId = p.tbGrade.Id, Score = p.Score, StudentCode = p.tbStudent.StudentCode, StudentName = p.tbStudent.StudentName }).FirstOrDefault(); } return(View(vm)); } }
public ActionResult Edit(Models.ClassAllotStudent.Edit vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { if (vm.ClassAllotStudentEdit.Id != 0) { var tb = db.Set <Basis.Entity.tbClassAllotStudent>().Find(vm.ClassAllotStudentEdit.Id); tb.tbYear = db.Set <Basis.Entity.tbYear>().Find(vm.ClassAllotStudentEdit.YearId); tb.Score = vm.ClassAllotStudentEdit.Score; tb.tbClassType = db.Set <Basis.Entity.tbClassType>().Find(vm.ClassAllotStudentEdit.ClassTypeId); tb.tbGrade = db.Set <Basis.Entity.tbGrade>().Find(vm.ClassAllotStudentEdit.GradeId); tb.tbStudent = db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == vm.ClassAllotStudentEdit.StudentCode).FirstOrDefault(); } else { var student = new Student.Entity.tbStudent(); if (db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == vm.ClassAllotStudentEdit.StudentCode && d.StudentName == vm.ClassAllotStudentEdit.StudentName).Count() == 0) { var studentEdit = new Student.Dto.Student.Edit() { StudentCode = vm.ClassAllotStudentEdit.StudentCode, StudentName = vm.ClassAllotStudentEdit.StudentName }; var studentEditList = new List <Student.Dto.Student.Edit>(); studentEditList.Add(studentEdit); student = Student.Controllers.StudentController.BuildList(db, studentEditList).FirstOrDefault(); } else { student = db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == vm.ClassAllotStudentEdit.StudentCode && d.StudentName == vm.ClassAllotStudentEdit.StudentName).FirstOrDefault(); } var tb = new Basis.Entity.tbClassAllotStudent() { tbYear = db.Set <Basis.Entity.tbYear>().Find(vm.ClassAllotStudentEdit.YearId), Score = vm.ClassAllotStudentEdit.Score, tbClassType = db.Set <Basis.Entity.tbClassType>().Find(vm.ClassAllotStudentEdit.ClassTypeId), tbGrade = db.Set <Basis.Entity.tbGrade>().Find(vm.ClassAllotStudentEdit.GradeId), tbStudent = student }; db.Set <Basis.Entity.tbClassAllotStudent>().Add(tb); } if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加/修改了分班学生"); } } return(Code.MvcHelper.Post(error)); } }