public ActionResult Edit(Models.DormStudent.Edit vm) { var error = new List <string>(); if (error.Count == decimal.Zero) { using (var db = new XkSystem.Models.DbContext()) { //判断是否宿舍超出住宿人数 var maxCount = db.Set <Basis.Entity.tbRoom>().Find(vm.DormStudentEdit.RoomId).MaxUser; var nowNum = db.Table <Dorm.Entity.tbDormStudent>().Where(d => d.tbRoom.Id == vm.DormStudentEdit.RoomId).Count(); if (nowNum >= maxCount) { error.Add("此宿舍已经住满!"); return(Code.MvcHelper.Post(error)); } if (vm.DormStudentEdit.Id > 0) { var tb = db.Set <Dorm.Entity.tbDormStudent>().Find(vm.DormStudentEdit.Id); tb.tbDorm = db.Set <Dorm.Entity.tbDorm>().Find(vm.DormStudentEdit.DormId); tb.tbRoom = db.Set <Basis.Entity.tbRoom>().Find(vm.DormStudentEdit.RoomId); tb.tbStudent = db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == vm.DormStudentEdit.StudentCode).FirstOrDefault(); } else { var tb = new Dorm.Entity.tbDormStudent() { tbDorm = db.Set <Dorm.Entity.tbDorm>().Find(vm.DormStudentEdit.DormId), tbRoom = db.Set <Basis.Entity.tbRoom>().Find(vm.DormStudentEdit.RoomId), tbStudent = db.Table <Student.Entity.tbStudent>().Where(d => d.StudentCode == vm.DormStudentEdit.StudentCode).FirstOrDefault() }; db.Set <Dorm.Entity.tbDormStudent>().Add(tb); } if (db.SaveChanges() > 0) { XkSystem.Areas.Sys.Controllers.SysUserLogController.Insert("新增/修改了住宿学生"); } } } return(Code.MvcHelper.Post(error)); }
public ActionResult Edit(int id = 0) { var vm = new Models.DormStudent.Edit(); var dormStudentList = new List <Dorm.Entity.tbDormStudent>(); var RoomList = new List <Basis.Entity.tbRoom>(); using (var db = new XkSystem.Models.DbContext()) { if (id > 0) { vm.DormStudentEdit = (from p in db.Table <Dorm.Entity.tbDormStudent>() where p.Id == id select new Dto.DormStudent.Edit() { Id = p.Id, DormId = p.tbDorm.Id, RoomId = p.tbRoom.Id, BuildId = p.tbRoom.tbBuild.Id, StudentCode = p.tbStudent.StudentCode }).FirstOrDefault(); vm.RoomList = Basis.Controllers.RoomController.SelectList(vm.DormStudentEdit.RoomId, vm.DormStudentEdit.BuildId); } dormStudentList = db.Table <Dorm.Entity.tbDormStudent>().Include(d => d.tbRoom).ToList(); RoomList = db.Table <Basis.Entity.tbRoom>().ToList(); } vm.BuildList = Basis.Controllers.BuildController.SelectList(vm.DormStudentEdit.BuildId); vm.DormList = DormController.SelectList(vm.DormStudentEdit.DormId); foreach (var v in vm.RoomList) { if (dormStudentList.Where(d => d.tbRoom.Id == v.Value.ConvertToInt()).Count() >= RoomList.Where(d => d.Id == v.Value.ConvertToInt()).FirstOrDefault().MaxUser) { v.Text += "(满)"; } } return(View(vm)); }