/// <summary>
 /// 生成导航菜单树状结构,转换菜单为导航菜单元素
 /// </summary>
 /// <param name="menuInfos"></param>
 /// <returns></returns>
 public NavMenuBar GenerateNavMenuTree(List <MenuInfo> menuInfos)
 {
     try
     {
         NavMenuBar navMenuBar = new NavMenuBar();
         // 抓取root 节点
         foreach (MenuInfo menuInfo in menuInfos.Where(menu => menu.MenuParentID.ToLower().Equals("root")).OrderBy(menu => menu.MenuWeight))
         {
             bool        parentMenuExpand = false;
             NavMenuItem navMenuItem      = new NavMenuItem
             {
                 Name     = menuInfo.MenuName,
                 Title    = menuInfo.MenuTitle,
                 IconType = menuInfo.MenuIcon,
                 Url      = menuInfo.MenuComponent,
                 Master   = menuInfo.EnableMasterTemplate,
                 Submenu  = GenerateSubNavMenus(menuInfo, menuInfos, out parentMenuExpand),
                 SubArrow = parentMenuExpand
             };
             navMenuBar.Menu.Add(navMenuItem);
         }
         return(navMenuBar);
     }
     catch (Exception exception)
     {
         throw exception;
     }
 }
        public WebAPIReponse GenNavMenuTree(UserNavMenuRequest userNavMenu)
        {
            try
            {
                MenuInfo mtsMenuInfo = new MenuInfo();

                var userNavMenuInfo = _navMenuService.GetUserPermissionMenus(userNavMenu);
                if (userNavMenuInfo != null)
                {
                    NavMenuBar currNavMenuBar = _navMenuService.GenerateNavMenuTree(userNavMenuInfo);
                    return(new WebAPIReponse(HttpStatusCode.OK, "Success", currNavMenuBar));
                }
                return(new WebAPIReponse(HttpStatusCode.InternalServerError, "Menu Not Found"));
            }
            catch (Exception exception)
            {
                return(new WebAPIReponse(HttpStatusCode.PreconditionFailed, "Precondition Failed", exception.ToString()));
            }
        }