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); }
public IMenuBuilder AddLeaf(string name) { var leafMenu = new LeafMenu { Name = name }; leafMenu.ParentId = menu.Id; menu.AddSubMenu(leafMenu); return(this); }
public AddLeafMenuOutput AddLeafMenu(AddLeafMenuInput input) { LeafMenu leafMenu = new LeafMenu(input.Name) { CompositeMenuId = input.ParentMenuId, DisplayName = input.DisplayName, Icon = input.Icon }; _menuManager.AddLeafMenu(leafMenu); return(new AddLeafMenuOutput()); }
public AddLeafMenuOutput AddLeafMenu(AddLeafMenuInput input) { LeafMenu leafMenu = new LeafMenu(input.Name) { CompositeMenuId = input.ParentMenuId, DisplayName = input.DisplayName, Icon = input.Icon }; var pageData = GetPageData(input.PageName, input.PageDataName); leafMenu.PageData = pageData; _menuManager.AddLeafMenu(leafMenu); return(new AddLeafMenuOutput()); }
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); }