Пример #1
0
        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));
        }
Пример #2
0
        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));
        }