예제 #1
0
파일: RoleBLL.cs 프로젝트: benxuu/SYPM
        /// <summary>
        /// 角色授权
        /// </summary>
        /// <param name="roleId">要授权的角色Id</param>
        /// <param name="roleMenuButtonId">菜单按钮Id 格式:5 1,5 2,7 1,10 1,11 1</param>
        public bool Authorize(int roleId, string roleMenuButtonId)
        {
            try
            {
                //先删除所有权限 再重新批量插入
                new MenuButtonBLL().DelRoleMenuButtonByRoleId(roleId);
                List <RoleMenuButtonEntity> addlist = new List <RoleMenuButtonEntity>();

                string[] menubuttonids = roleMenuButtonId.Split(',');
                //用户新勾选的按钮(要添加本角色下的按钮)
                if (!string.IsNullOrEmpty(roleMenuButtonId))
                {
                    List <int> listParentMenuId = new List <int>();   //需要添加的父目录id
                    for (int i = 0; i < menubuttonids.Length; i++)
                    {
                        int menuId   = Convert.ToInt32(menubuttonids[i].Split(' ')[0]);
                        int buttonId = Convert.ToInt32(menubuttonids[i].Split(' ')[1]);

                        RoleMenuButtonEntity roleMenuButton = new RoleMenuButtonEntity();
                        roleMenuButton.RoleId   = roleId;
                        roleMenuButton.MenuId   = menuId;
                        roleMenuButton.ButtonId = buttonId;
                        addlist.Add(roleMenuButton);
                    }
                }
                if (addlist.Count != 0)
                {
                    return(dal.Authorize(addlist));
                }
                else
                {
                    return(true);
                }
            }
            catch
            {
                return(false);
            }
        }
예제 #2
0
 public bool Authorize(RoleMenuModel model)
 {
     try
     {
         var isDel = dal.DelRoleMenuButtonByRoleId(model.RoleId);
         if (isDel)
         {
             if (model.MenuButtonIds != null)
             {
                 foreach (var item in model.MenuButtonIds)
                 {
                     var roleMenuButton = new RoleMenuButton
                     {
                         Id       = Guid.NewGuid(),
                         RoleId   = model.RoleId,
                         ButtonId = item.buttonid,
                         MenuId   = item.menuid
                     };
                     var roleMenuButtons = dal.Authorize(roleMenuButton);
                     if (roleMenuButtons == null)
                     {
                         throw new Exception("循环添加出现程序错误,请联系管理员!");
                     }
                 }
             }
         }
         else
         {
             return(false);
         }
         return(true);
     }
     catch (Exception)
     {
         throw new Exception("出现程序错误,请联系管理员!");
     }
 }