Example #1
0
        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;
 }