コード例 #1
0
ファイル: RolesController.cs プロジェクト: tom6886/HWYZ.Web
        private void addNodes(ArrayList zNodes, List<Menu> list, string pId, GuserRole role)
        {
            foreach (var item in list)
            {
                zNodes.Add(new
                {
                    id = item.ID,
                    pId = pId,
                    name = item.Title,
                    authVal = item.AuthVal,
                    open = true,
                    @checked = (role != null && ((Convert.ToInt32(role.RoleVal) & item.AuthVal) > 0))
                });

                if (item.SubMenu.Count > 0) { addNodes(zNodes, item.SubMenu, item.ID, role); }
            }
        }
コード例 #2
0
ファイル: RolesController.cs プロジェクト: tom6886/HWYZ.Web
        public JsonResult editRole(GuserRole role)
        {
            using (DBContext db = new DBContext())
            {
                //判断名称是否重复
                GuserRole sameName = db.GuserRole.Where(q => q.RoleName.Equals(role.RoleName) && !q.ID.Equals(role.ID)).FirstOrDefault();

                if (sameName != null) { return Json(new { code = -1, msg = "已有同名角色" }); }

                //判断权限值是否重复
                GuserRole sameAuth = db.GuserRole.Where(q => q.RoleVal.Equals(role.RoleVal) && !q.ID.Equals(role.ID)).FirstOrDefault();

                if (sameAuth != null) { return Json(new { code = -2, msg = "已有相同权限的角色" }); }

                GuserRole oldRole = db.GuserRole.Where(q => q.ID.Equals(role.ID)).FirstOrDefault();

                if (oldRole == null)
                {
                    role.CreatorID = UserContext.user.ID;
                    role.Creator = UserContext.user.DisplayName;
                    role.Status = Status.enable;

                    db.GuserRole.Add(role);
                }
                else
                {
                    List<Guser> users = db.Guser.Where(q => q.RoleId.Equals(role.ID)).ToList();

                    if (users.Count > 0 && role.Status == Status.disable) { return Json(new { code = -3, msg = "不能禁用已有用户的角色" }); }

                    oldRole.ModifyTime = DateTime.Now;
                    oldRole.RoleName = role.RoleName;
                    oldRole.RoleVal = role.RoleVal;
                    oldRole.Status = role.Status;

                    db.Entry(oldRole).State = EntityState.Modified;
                }
                db.SaveChanges();
            }

            return Json(new { code = 1, msg = "保存成功" });
        }