Exemple #1
0
        /// <summary>
        /// 递归获取子菜单
        /// </summary>
        /// <param name="allMenu"></param>
        /// <param name="menuId"></param>
        /// <returns></returns>
        private List <ApiMenuBean> GetSubMenu(IQueryable <Module> allMenu, long menuId)
        {
            var allSubMenu = new List <ApiMenuBean>();

            foreach (var subMenu in allMenu.Where(s => s.ParentId == menuId).OrderBy(o => o.ShowOrder).ToList())
            {
                var newBean = new ApiMenuBean
                {
                    ID         = subMenu.Id,
                    ICON       = subMenu.Icon,
                    NAME       = subMenu.Name,
                    TYPE       = subMenu.Type == 0 ? "click" : "view",
                    Key        = subMenu.Code,
                    URL        = subMenu.Url,
                    SHOW_ORDER = subMenu.ShowOrder ?? 0,
                    child      = GetSubMenu(allMenu, subMenu.Id),
                };

                allSubMenu.Add(newBean);
            }

            return(allSubMenu);
        }
Exemple #2
0
        /// <summary>
        /// 获取用户菜单
        /// </summary>
        /// <param name="roleIdList"></param>
        /// <returns></returns>
        private List <ApiMenuBean> GetUserMenus(List <int> roleIdList)
        {
            if (roleIdList.Count <= 0)
            {
                return(null);
            }

            var allMenuBean = new List <ApiMenuBean>();
            var roleIds     = roleIdList.Select(id => (long)id).ToList();

            var allMenu = from rm in _roleModuleRepository.GetAll()
                          join m in _moduleRepository.GetAll() on rm.ModuleId equals m.Id
                          where roleIds.Contains(rm.RoleId) &&
                          (m.IsUse == null || (m.IsUse != null && m.IsUse.Value)) &&
                          m.ApplicationType.Equals("APP")
                          select m;

            foreach (var menu in allMenu.Where(m => m.ParentId == null).OrderBy(o => o.ShowOrder).ToList())
            {
                var menuId  = menu.Id;
                var apiMenu = new ApiMenuBean
                {
                    ID         = menuId,
                    ICON       = menu.Icon,
                    NAME       = menu.Name,
                    TYPE       = menu.Type == 0 ? "click" : "view",
                    Key        = menu.Code,
                    URL        = menu.Url,
                    SHOW_ORDER = menu.ShowOrder ?? 0,
                    child      = GetSubMenu(allMenu, menuId),
                };

                allMenuBean.Add(apiMenu);
            }

            return(allMenuBean);
        }