/// <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") }); }
/// <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") }); }