12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using IoTIntegrationPlatform.Model.Model;
- namespace IoTIntegrationPlatform.Model.common
- {
- /// <summary>
- /// 格式化菜单
- /// </summary>
- public class MenuDetail : AdminMenu
- {
- /// <summary>
- /// 子菜单
- /// </summary>
- public List<MenuDetail> SubMenus { get; set; }
- /// <summary>
- /// 按钮权限
- /// </summary>
- public List<AdminMenu> Buttons { get; set; }
- /// <summary>
- /// 获取管理菜单
- /// </summary>
- /// <param name="adminMenus"></param>
- /// <returns></returns>
- public static List<MenuDetail> FromAdminMenu(IEnumerable<AdminMenu> adminMenus)
- {
- var result = new List<MenuDetail>();
- if (adminMenus.Any())
- {
- result = SubChilds(adminMenus, "-1");
- }
- return result;
- }
- /// <summary>
- ///生成菜单子级
- /// </summary>
- /// <param name="adminMenus"></param>
- /// <param name="parentMenuCode"></param>
- /// <returns></returns>
- public static List<MenuDetail> SubChilds(IEnumerable<AdminMenu> adminMenus, string parentMenuCode)
- {
- List<MenuDetail> result = new List<MenuDetail>();
- var subChilds = adminMenus.Where(m => m.ParentMenuCode == parentMenuCode);
- if (subChilds.Any())
- {
- foreach (var item in subChilds)
- {
- var tmp = new MenuDetail
- {
- Id = item.Id,
- MenuCode = item.MenuCode,
- MenuName = item.MenuName,
- ParentMenuCode = item.ParentMenuCode,
- IsMenu = item.IsMenu,
- Path = item.Path,
- Icon = item.Icon,
- PowerCode=item.PowerCode
- };
- tmp.SubMenus = SubChilds(adminMenus, item.MenuCode);
- result.Add(tmp);
- }
- }
- return result;
- }
-
- }
- }
|