private static bool IsDuplicateAndIsVisibleActions(HtmlHelper html, IMenuItemFacade item, IList <IMenuItemFacade> items, IObjectFacade nakedObject) { var itemsOfSameName = items.Where(i => i.Name == item.Name).ToArray(); if (itemsOfSameName.Count() == 1) { return(false); } return(itemsOfSameName.Count(i => MenuActionAsElementDescriptor(html, i as IMenuActionFacade, nakedObject, false) != null) > 1); }
private Tuple<string, ActionContextFacade>[] GetMenuItem(IMenuItemFacade item, string parent = "") { var menuActionFacade= item as IMenuActionFacade; if (menuActionFacade != null) { return new[] {new Tuple<string, ActionContextFacade>(item.Name, ActionContext(menuActionFacade, parent))}; } var menuFacade = item as IMenuFacade; if (menuFacade != null) { parent = parent + (string.IsNullOrEmpty(parent) ? "" : "-") + menuFacade.Name; return menuFacade.MenuItems.SelectMany(i => GetMenuItem(i, parent)).ToArray(); } return new Tuple<string, ActionContextFacade>[] {}; }
private static ElementDescriptor MenuItemAsElementDescriptor(this HtmlHelper html, IMenuItemFacade item, IObjectFacade nakedObject, bool isEdit) { ElementDescriptor descriptor = null; if (item is IMenuActionFacade) { descriptor = MenuActionAsElementDescriptor(html, item as IMenuActionFacade, nakedObject, isEdit); } else if (item is IMenuFacade) { descriptor = SubMenuAsElementDescriptor(html, item as IMenuFacade, nakedObject, isEdit); } else if (item is CustomMenuItem) { descriptor = CustomMenuItemAsDescriptor(html, item as CustomMenuItem); } return descriptor; }
private static bool IsDuplicateAndIsVisibleActions(HtmlHelper html, IMenuItemFacade item, IList<IMenuItemFacade> items, IObjectFacade nakedObject) { var itemsOfSameName = items.Where(i => i.Name == item.Name).ToArray(); if (itemsOfSameName.Count() == 1) { return false; } return itemsOfSameName.Count(i => MenuActionAsElementDescriptor(html, i as IMenuActionFacade, nakedObject, false) != null) > 1; }