public void Build() { var menu = new CompositeMenu("CompositeMenu1") { DisplayName = "主菜单", Icon = "", CompositeMenuId = null, RootMenuId = null, PageName = null, PageDataName = null, Menus = new List <MenuBase>() }; var homeMenu = new LeafMenu("LeafMenu1") { DisplayName = "主页", Icon = "", RootMenu = menu, PageName = "ContentPage1Name", PageDataName = "PageData1Name", }; var postMenu = new CompositeMenu("CompositeMenu2") { DisplayName = "文章分类", RootMenu = menu, }; menu.Menus.Add(homeMenu); menu.Menus.Add(postMenu); _context.Menus.Add(menu); }
private MenuBase CreateRootMenuForDto(MenuDto menuDto) { MenuBase menu; if (menuDto.IsCompositeMenu()) { CompositeMenu compositeMenu; menu = compositeMenu = new CompositeMenu(menuDto.Name); compositeMenu.Menus = new List <MenuBase>(); if (menuDto.Menus != null) { foreach (var childMenuDto in menuDto.Menus) { var childMenu = CreateRootMenuForDto(childMenuDto); childMenu.SetRootMenu(compositeMenu); compositeMenu.Menus.Add(childMenu); } } } else if (menuDto.IsLeafMenu()) { menu = new LeafMenu(menuDto.Name); } else { throw new UserFriendlyException($"创建菜单失败,菜单{menuDto.Name}未指定类型"); } menu.DisplayName = menuDto.DisplayName; menu.Icon = menuDto.Icon; menu.PageName = menuDto.PageName; menu.PageDataName = menuDto.PageDataName; return(menu); }
private MenuDto CreateMenuDto(MenuBase menu) { MenuDto returnMenu = new MenuDto(); returnMenu.Id = menu.Id; returnMenu.Name = menu.Name; returnMenu.DisplayName = menu.DisplayName; returnMenu.Icon = menu.Icon; if (menu is LeafMenu) { return(returnMenu); } if (!(menu is CompositeMenu)) { throw new MessageException("菜单转换异常"); } returnMenu.Menus = new List <MenuDto>(); CompositeMenu compositeMenu = (CompositeMenu)menu; if (compositeMenu.Menus == null) { return(returnMenu); } foreach (var childMenu in compositeMenu.Menus) { returnMenu.Menus.Add(CreateMenuDto(childMenu)); } return(returnMenu); }
public AddCompositeMenuOutput AddCompositeMenu(AddCompositeMenuInput input) { CompositeMenu compositeMenu = new CompositeMenu(input.Name) { CompositeMenuId = input.ParentMenuId, DisplayName = input.DisplayName, Icon = input.Icon }; _menuManager.AddCompositeMenu(compositeMenu); return(new AddCompositeMenuOutput()); }
public AddCompositeMenuOutput AddCompositeMenu(AddCompositeMenuInput input) { CompositeMenu compositeMenu = new CompositeMenu(input.Name) { CompositeMenuId = input.ParentMenuId, DisplayName = input.DisplayName, Icon = input.Icon }; var pageData = GetPageData(input.PageName, input.PageDataName); compositeMenu.PageData = pageData; _menuManager.AddCompositeMenu(compositeMenu); return(new AddCompositeMenuOutput()); }
public void Build() { var pageData = _context.PageDatas.FirstOrDefault(e => e.Name == "PageData1Name"); var menu = new CompositeMenu("Main") { DisplayName = "主菜单", Icon = "", CompositeMenuId = null, RootMenuId = null, PageName = null, PageDataName = null, Menus = new List <MenuBase>() { } }; var homeMenu = new LeafMenu("Home") { DisplayName = "主页", Icon = "", RootMenu = menu, PageName = "ContentPage1Name", PageDataName = "PageData1Name", }; var postMenu = new CompositeMenu("post") { DisplayName = "文章分类", RootMenu = menu, }; menu.Menus.Add(homeMenu); menu.Menus.Add(postMenu); _context.Menus.Add(menu); }