public PersonaBarMenu GetMenu()
        {
            var menu = DataCache.GetCache <PersonaBarMenu>(PersonaBarMenuCacheKey);

            if (menu == null)
            {
                lock (ThreadLocker)
                {
                    menu = DataCache.GetCache <PersonaBarMenu>(PersonaBarMenuCacheKey);
                    if (menu == null)
                    {
                        menu = new PersonaBarMenu();
                        var menuItems = CBO.FillCollection <MenuItem>(_dataService.GetPersonaBarMenu())
                                        .OrderBy(m => m.Order).ToList();

                        foreach (var menuItem in menuItems.Where(m => m.ParentId == Null.NullInteger))
                        {
                            menu.MenuItems.Add(menuItem);
                            InjectMenuItems(menuItem, menuItems);
                        }

                        DataCache.SetCache(PersonaBarMenuCacheKey, menu);
                    }
                }
            }

            return(menu);
        }
Exemple #2
0
 public virtual void FilterMenu(PersonaBarMenu menu)
 {
 }