public ActionResult Edit(int id = 0) { var vm = new Models.MoralPower.Edit(); using (var db = new XkSystem.Models.DbContext()) { if (id > 0) { var tb = (from p in db.Table <Moral.Entity.tbMoralPower>() where p.Id == id select new Dto.MoralPower.Edit() { Id = p.Id, No = p.No, TeacherId = p.tbTeacher.Id, MoralDate = p.MoralDate, }).FirstOrDefault(); if (tb != null) { vm.MoralPowerEdit = tb; } vm.MoralClassIds = (from p in db.Table <Entity.tbMoralPowerClass>() where p.tbMoralPower.Id == id select p.tbClass.Id).ToList(); if (vm.MoralClassIds != null && vm.MoralClassIds.Any()) { vm.MoralClassId = string.Join(",", vm.MoralClassIds); } } else { vm.MoralPowerEdit.No = db.Table <Moral.Entity.tbMoralPower>().Where(p => p.tbMoralItem.Id == vm.MoralItemId).Select(p => p.No).DefaultIfEmpty(0).Max() + 1; } } vm.TeacherList = Teacher.Controllers.TeacherController.SelectList(); vm.MoralClassList = MoralClassController.SelectList(vm.MoralId); return(View(vm)); }
public ActionResult Edit(Models.MoralPower.Edit vm) { var error = new List <string>(); using (var db = new XkSystem.Models.DbContext()) { var tb = (from p in db.Table <Moral.Entity.tbMoralPower>() where p.tbMoralItem.Id == vm.MoralItemId && p.tbTeacher.Id == vm.MoralPowerEdit.TeacherId && p.Id != vm.MoralPowerEdit.Id select p); if (vm.MoralPowerEdit.MoralDate.HasValue) { tb = tb.Where(p => p.MoralDate == vm.MoralPowerEdit.MoralDate.Value); } else { tb = tb.Where(p => !p.MoralDate.HasValue); } var isExists = tb.Count() > 0; if (isExists) { error.Add("已存在相同的记录!"); return(Code.MvcHelper.Post(error)); } if (vm.MoralPowerEdit.Id == 0) { var tbMoralPower = new Moral.Entity.tbMoralPower() { No = (vm.MoralPowerEdit.No ?? 0) == 0 ? db.Table <Moral.Entity.tbMoralPower>().Where(p => p.tbMoralItem.Id == vm.MoralItemId).Select(p => p.No).DefaultIfEmpty(0).Max() + 1 : vm.MoralPowerEdit.No.Value, MoralDate = vm.MoralPowerEdit.MoralDate, tbMoralItem = db.Set <Moral.Entity.tbMoralItem>().Find(vm.MoralItemId), tbTeacher = db.Set <Teacher.Entity.tbTeacher>().Find(vm.MoralPowerEdit.TeacherId) }; db.Set <Moral.Entity.tbMoralPower>().Add(tbMoralPower); if (!string.IsNullOrWhiteSpace(vm.MoralClassId)) { var classIds = vm.MoralClassId.TrimEnd(',').Split(',').Select(int.Parse).ToList(); var classList = (from p in db.Table <Basis.Entity.tbClass>() where classIds.Contains(p.Id) select p).ToList(); db.Set <Moral.Entity.tbMoralPowerClass>().AddRange(classList.Select(p => new Moral.Entity.tbMoralPowerClass() { tbClass = p, tbMoralPower = tbMoralPower }).ToList()); } if (db.SaveChanges() > 0) { Sys.Controllers.SysUserLogController.Insert("添加了德育项目评价人员!"); } } else { var tbMoralPower = (from p in db.Table <Moral.Entity.tbMoralPower>() where p.Id == vm.MoralPowerEdit.Id select p).FirstOrDefault(); if (tbMoralPower == null) { error.Add(Resources.LocalizedText.MsgNotFound); return(Code.MvcHelper.Post(error)); } tbMoralPower.MoralDate = vm.MoralPowerEdit.MoralDate; tbMoralPower.No = (vm.MoralPowerEdit.No ?? 0) == 0 ? db.Table <Moral.Entity.tbMoralPower>().Where(p => p.tbMoralItem.Id == vm.MoralItemId).Select(p => p.No).DefaultIfEmpty(0).Max() + 1 : vm.MoralPowerEdit.No.Value; tbMoralPower.tbTeacher = db.Set <Teacher.Entity.tbTeacher>().Find(vm.MoralPowerEdit.TeacherId); if (!string.IsNullOrWhiteSpace(vm.MoralClassId)) { var tbMoralPowerClass = (from p in db.Table <Moral.Entity.tbMoralPowerClass>() where p.tbMoralPower.Id == tbMoralPower.Id select p); foreach (var powerClass in tbMoralPowerClass) { powerClass.IsDeleted = true; } var classIds = vm.MoralClassId.TrimEnd(',').Split(',').Select(int.Parse).ToList(); var classList = (from p in db.Table <Basis.Entity.tbClass>() where classIds.Contains(p.Id) select p).ToList(); db.Set <Moral.Entity.tbMoralPowerClass>().AddRange(classList.Select(p => new Moral.Entity.tbMoralPowerClass() { tbClass = p, tbMoralPower = tbMoralPower }).ToList()); } if (db.SaveChanges() > 0) { Sys.Controllers.SysUserLogController.Insert("修改了德育项目评价人员!"); } } } return(Code.MvcHelper.Post()); }