public ActionResult Edit(int teacherId = 0) { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.TeacherSubject.Edit(); vm.GradeList = Basis.Controllers.GradeController.SelectList(); vm.SubjectList = Course.Controllers.SubjectController.SelectList(); vm.TeacherList = Teacher.Controllers.TeacherController.SelectList(); //获取选中科目年级 var SelectedSubjectList = (from p in db.Table <Teacher.Entity.tbTeacherSubject>() where p.tbTeacher.Id == teacherId select new { value = p.tbGrade.Id + "|" + p.tbSubject.Id }).ToList(); foreach (var v in SelectedSubjectList) { vm.SelectedSubjectList.Add(v.value); } return(View(vm)); } }
public ActionResult Edit(Models.TeacherSubject.Edit vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { if (vm.TeacherId == null || vm.TeacherId <= decimal.Zero) { error.AddError("请选择科研组长!"); return(Code.MvcHelper.Post(error)); } var subjectGrade = string.Empty; foreach (var key in Request.Form.AllKeys) { if (key.StartsWith("CboxSubjectGrade")) { var radiolc = Request[key]; if (radiolc != null) { subjectGrade += radiolc + ","; } } else { continue; } } //删除之前的数据 var deleteTb = (from p in db.Table <Teacher.Entity.tbTeacherSubject>() where p.tbTeacher.Id == vm.TeacherId select p).ToList(); foreach (var a in deleteTb) { a.IsDeleted = true; } foreach (var gs in subjectGrade.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries)) { var tb = new Teacher.Entity.tbTeacherSubject(); tb.tbSubject = db.Set <Course.Entity.tbSubject>().Find(Convert.ToInt32(gs.Split('|')[1])); tb.tbTeacher = db.Set <Teacher.Entity.tbTeacher>().Find(vm.TeacherId); tb.tbGrade = db.Set <Basis.Entity.tbGrade>().Find(Convert.ToInt32(gs.Split('|')[0])); db.Set <Teacher.Entity.tbTeacherSubject>().Add(tb); } if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改科组长"); } } return(Code.MvcHelper.Post(error)); } }