Ejemplo n.º 1
0
        /// <summary>
        /// 通过角色获取菜单
        /// </summary>
        /// <param name="roleId">角色编号</param>
        /// <returns></returns>
        public HttpResponseMessage GetMenus(string roleId)
        {
            StringBuilder    sb             = new StringBuilder();
            List <Menus>     listMenu       = new MenusBLL().GetList();
            List <RoleMenus> listRoleRights = new RoleMenusBLL().GetList(string.Format("roleId in({0})", roleId.Trim()));

            sb.Append("[");
            LoopMenu(listMenu, listMenu.FindAll(p => p.ParentId == null || p.ParentId == 0), sb, listRoleRights);
            sb.Append("]");
            return(new HttpResponseMessage {
                Content = new StringContent(sb.ToString(), System.Text.Encoding.UTF8, "application/json")
            });
        }
Ejemplo n.º 2
0
        /// <summary>
        /// 通过角色编号获取左菜单
        /// </summary>
        /// <param name="roleId">角色编号</param>
        /// <returns></returns>
        public HttpResponseMessage GetLeftMenus(string roleId)
        {
            StringBuilder sb = new StringBuilder();
            //可见菜单
            List <Menus>     listMenu       = new MenusBLL().GetList("Status=1");
            List <RoleMenus> listRoleRights = new RoleMenusBLL().GetList(string.Format("roleId in({0})", roleId.Trim()));
            //linq
            List <int> listMenuIds = (from s in listRoleRights select new { s.MenuId }).Select(s => s.MenuId).ToList();

            listMenu = listMenu.FindAll(p => listMenuIds.Contains(p.Id));
            sb.Append("[");
            LoopLeftMenu(listMenu, listMenu.FindAll(p => p.ParentId == null || p.ParentId == 0), sb);
            sb.Append("]");
            return(new HttpResponseMessage {
                Content = new StringContent(sb.ToString(), System.Text.Encoding.UTF8, "application/json")
            });
        }