public ActionResult Edit(int id = 0) { using (var db = new XkSystem.Models.DbContext()) { var vm = new Models.ExamImportSegmentMark.Edit(); vm.GradeList = Basis.Controllers.GradeController.SelectList(); if (id != 0) { var tb = (from p in db.Table <Exam.Entity.tbExamImportSegmentMark>() where p.Id == id select new Dto.ExamImportSegmentMark.Edit { Id = p.Id, No = p.No, SegmentName = p.SegmentName, GradeId = p.tbGrade.Id, MinMark = p.MinMark, MaxMark = p.MaxMark }).FirstOrDefault(); if (tb != null) { vm.ExamImportSegmentMarkEdit = tb; } } return(View(vm)); } }
public ActionResult Edit(Models.ExamImportSegmentMark.Edit vm) { using (var db = new XkSystem.Models.DbContext()) { var error = new List <string>(); if (error.Count == decimal.Zero) { if (db.Table <Exam.Entity.tbExamImportSegmentMark>().Where(d => d.SegmentName == vm.ExamImportSegmentMarkEdit.SegmentName && !string.IsNullOrEmpty(vm.ExamImportSegmentMarkEdit.SegmentName) && d.tbGrade.Id == vm.ExamImportSegmentMarkEdit.GradeId && d.Id != vm.ExamImportSegmentMarkEdit.Id).Any()) { error.AddError("该年级分数段已存在!"); } else { if (vm.ExamImportSegmentMarkEdit.Id == 0) { var tb = new Exam.Entity.tbExamImportSegmentMark(); tb.No = vm.ExamImportSegmentMarkEdit.No == null?db.Table <Exam.Entity.tbExamImportSegmentMark>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.ExamImportSegmentMarkEdit.No; tb.SegmentName = vm.ExamImportSegmentMarkEdit.SegmentName; tb.tbGrade = db.Set <Basis.Entity.tbGrade>().Find(vm.ExamImportSegmentMarkEdit.GradeId); tb.MinMark = vm.ExamImportSegmentMarkEdit.MinMark; tb.MaxMark = vm.ExamImportSegmentMarkEdit.MaxMark; db.Set <Exam.Entity.tbExamImportSegmentMark>().Add(tb); if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("添加分数段"); } } else { var tb = (from p in db.Table <Exam.Entity.tbExamImportSegmentMark>() where p.Id == vm.ExamImportSegmentMarkEdit.Id select p).FirstOrDefault(); if (tb != null) { tb.No = vm.ExamImportSegmentMarkEdit.No == null?db.Table <Exam.Entity.tbExamImportSegmentMark>().Select(d => d.No).DefaultIfEmpty(0).Max() + 1 : (int)vm.ExamImportSegmentMarkEdit.No; tb.SegmentName = vm.ExamImportSegmentMarkEdit.SegmentName; tb.tbGrade = db.Set <Basis.Entity.tbGrade>().Find(vm.ExamImportSegmentMarkEdit.GradeId); tb.MinMark = vm.ExamImportSegmentMarkEdit.MinMark; tb.MaxMark = vm.ExamImportSegmentMarkEdit.MaxMark; if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("修改分数段"); } } else { error.AddError(Resources.LocalizedText.MsgNotFound); } } } } return(Code.MvcHelper.Post(error, Url.Action("List"))); } }