private static Func <string, string, bool> ProduceGetIsSubnav()
        {
            var getControllerSubnavs =
                FunctionalHelper.Memoize <string, HashSet <string> >(
                    (controllerName) =>
            {
                IEnumerable <NavigationMenuItem> navItems = GetSubnavigationItemsForController(controllerName);

                if (navItems == null)
                {
                    navItems = new NavigationMenuItem[0];
                }

                navItems = navItems.Where(
                    t =>
                    (t != null) &&
                    !string.IsNullOrEmpty(t.Action));

                return(new HashSet <string>(navItems.Select(t => t.Action)));
            });

            return((controllerName, actionName) =>
            {
                if (string.IsNullOrEmpty(actionName))
                {
                    return false;
                }

                return getControllerSubnavs(controllerName).Contains(actionName);
            });
        }
        public void Initialize()
        {
            RegisterViewsAndServices();

            if (_authContext.CheckPermission(PredefinedPermissions.CustomersViewAllCasesAll) ||
                _authContext.CheckPermission(PredefinedPermissions.CustomersViewAssignedCases))
            {
                var navigationManager = _container.Resolve <NavigationManager>();

                //Register menu item
                var homeViewModel = _container.Resolve <ICustomersMainViewModel>();
                var homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

                navigationManager.RegisterNavigationItem(homeNavItem);

                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                {
                    NavigateCommand  = new DelegateCommand <NavigationItem>((x) => navigationManager.Navigate(homeNavItem)),
                    Caption          = "Customer Service",
                    Category         = NavigationNames.ModuleName,
                    ImageResourceKey = "Icon_Module_Customers",
                    ItemBackground   = Color.FromRgb(248, 154, 45),
                    Order            = 52
                };

                navigationManager.RegisterNavigationItem(menuNavItem);
            }
        }
        public void Initialize()
        {
            if (true)
            {
                RegisterViewsAndServices();
                RegisterConfigurationViews();

                if (_authContext.CheckPermission(PredefinedPermissions.FulfillmentPicklistsManage) ||
                    _authContext.CheckPermission(PredefinedPermissions.FulfillmentInventoryReceive) ||
                    _authContext.CheckPermission(PredefinedPermissions.FulfillmentReturnsManage))
                {
                    var navigationManager = _container.Resolve <NavigationManager>();

                    //Register menu item
                    var homeViewModel = _container.Resolve <IMainFulfillmentViewModel>();
                    var homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

                    navigationManager.RegisterNavigationItem(homeNavItem);

                    var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                    {
                        NavigateCommand  = new DelegateCommand <NavigationItem>((x) => { navigationManager.Navigate(homeNavItem); }),
                        Caption          = "Fulfillment",
                        Category         = NavigationNames.ModuleName,
                        ImageResourceKey = "Icon_Module_Fulfillment",
                        ItemBackground   = Colors.DarkOliveGreen,
                        Order            = 60
                    };

                    navigationManager.RegisterNavigationItem(menuNavItem);
                }
            }
        }
        public void Initialize()
        {
            RegisterViewsAndServices();
            RegisterConfigurationViews();

            if (HasPermissions())
            {
                var navigationManager = _container.Resolve <NavigationManager>();
                //Register home view
                var homeViewModel = _container.Resolve <IConfigurationHomeViewModel>();
                var homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);
                navigationManager.RegisterNavigationItem(homeNavItem);
                //Register menu view
                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                {
                    NavigateCommand =
                        new DelegateCommand <NavigationItem>((x) => { navigationManager.Navigate(homeNavItem); }),
                    Caption          = "Settings",
                    Category         = NavigationNames.ModuleName,
                    ItemBackground   = Color.FromRgb(132, 94, 178),
                    ImageResourceKey = "Icon_Module_Settings",
                    Order            = 110
                };
                navigationManager.RegisterNavigationItem(menuNavItem);
            }
        }
        public void Initialize()
        {
            RegisterViewsAndServices();
            RegisterConfigurationViews();

            var navigationManager = _container.Resolve <NavigationManager>();

            //Register menu item
            //var homeViewModel = _container.Resolve<IInventoryHomeViewModel>();
            var homeViewModel = _container.Resolve <IMainFulfillmentViewModel>();
            var homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

            navigationManager.RegisterNavigationItem(homeNavItem);

            var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName);

            menuNavItem.NavigateCommand  = new DelegateCommand <NavigationItem>((x) => { navigationManager.Navigate(homeNavItem); });
            menuNavItem.Caption          = "Fulfillment";
            menuNavItem.ImageResourceKey = "Fulfillment";//"/Presentation.Fulfillment;component/Resources/images/fulfillment.png";
            menuNavItem.Order            = 60;

            navigationManager.RegisterNavigationItem(menuNavItem);

            //_regionManager.RegisterViewWithRegion(RegionNames.MenuRegion, () => _container.Resolve<IFulfillmentNavigationCommandViewModel>().View);
        }
Beispiel #6
0
 private async Task AddNavMenuItemToListAsync(NavigationMenuItem navItem, List <NavMenuViewItem> viewItems)
 {
     if (await _navMenuManager.Authorize(navItem))
     {
         var item = new NavMenuViewItem();
         item.Id    = navItem.Id;
         item.Title = navItem.Title;
         item.Link  = _navMenuManager.GetNavMenuContentLink(navItem);
         if (string.IsNullOrEmpty(item.Link))
         {
             item.Link = "#";
         }
         foreach (var child in navItem.Children)
         {
             await AddNavMenuItemToListAsync(child, item.Children);
         }
         if (navItem.TargetType == false)
         {
             item.Target = "_self";
         }
         else
         {
             item.Target = "_blank";
         }
         viewItems.Add(item);
     }
 }
        private void ShellViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
            case nameof(SelectedItem):
                if (SelectedItem == null ||
                    SelectedItem == _previewSelectedItem)
                {
                    return;
                }

                RegionManager.RequestNavigate(Regions.CONTENT_REGION, SelectedItem.Path,
                                              callback =>
                {
                    if (callback.Result == false)
                    {
                        //Return to previous menu
                        SelectedItem = _previewSelectedItem;
                    }
                    else
                    {
                        //Changes the previous menu item to the current menu when navigation is completed normally
                        _previewSelectedItem = SelectedItem;
                    }
                });
                break;
            }
        }
        public string GetNavMenuContentLink(NavigationMenuItem item)
        {
            if (item.ContentType == NavigationMenuItemType.Label)
            {
                return(null);
            }

            if (item.ContentType == NavigationMenuItemType.ExternalURL)
            {
                return(item.ExternalURL);
            }

            var provider = GetNavMenuContentProvider(item.ContentType);

            if (provider == null)
            {
                return(null);
            }
            var content = provider.GetContentItem(item.ContentId);

            if (content == null)
            {
                return(null);
            }
            return(content.Link);
        }
Beispiel #9
0
        private void InitializeUsersModule()
        {
            var authContext = _container.Resolve <IAuthenticationContext>();

            RegisterViewsAndServices();
            if (authContext.CheckPermission(PredefinedPermissions.SecurityAccounts) || authContext.CheckPermission(PredefinedPermissions.SecurityRoles))
            {
                //Register menu item
                IViewModel homeViewModel = _container.Resolve <ISecurityMainViewModel>();
                var        homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

                _navigationManager.RegisterNavigationItem(homeNavItem);

                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                {
                    NavigateCommand  = new DelegateCommand <NavigationItem>((x) => { _navigationManager.Navigate(homeNavItem); }),
                    Caption          = "Users",
                    Category         = NavigationNames.ModuleName,
                    ImageResourceKey = "Icon_Module_Security",
                    ItemBackground   = Color.FromRgb(64, 159, 216),
                    Order            = 101
                };
                _navigationManager.RegisterNavigationItem(menuNavItem);
            }
        }
Beispiel #10
0
        private void ShellViewModel_PropertyChanged(object sender, PropertyChangedEventArgs e)
        {
            switch (e.PropertyName)
            {
            case nameof(SelectedItem):
                if (SelectedItem == null ||
                    SelectedItem == _previewSelectedItem)
                {
                    return;
                }

                RegionManager.RequestNavigate(Regions.CONTENT_REGION, SelectedItem.Path,
                                              callback =>
                {
                    if (callback.Result == false)
                    {
                        //원래 메뉴로 돌려놔함
                        SelectedItem = _previewSelectedItem;
                    }
                    else
                    {
                        //네비게이션이 완료되었을 때만 입력
                        _previewSelectedItem = SelectedItem;
                    }
                });
                break;
            }
        }
Beispiel #11
0
        public void Initialize()
        {
            RegisterViewsAndServices();
            RegisterConfigurationViews();
            if (_authContext.CheckPermission(PredefinedPermissions.ReportingViewReports))
            {
                var navigationManager = _container.Resolve <NavigationManager>();
                //Register home view
                var homeViewModel = _container.Resolve <IReportingHomeViewModel>();
                var homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

                navigationManager.RegisterNavigationItem(homeNavItem);

                //Register menu view
                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                {
                    NavigateCommand  = new DelegateCommand <NavigationItem>((x) => navigationManager.Navigate(homeNavItem)),
                    Caption          = "Reports",
                    Category         = NavigationNames.ModuleName,
                    ImageResourceKey = "Icon_Module_Reporting",
                    ItemBackground   = Colors.LightSlateGray,
                    Order            = 51
                };

                navigationManager.RegisterNavigationItem(menuNavItem);
            }
        }
        public void Initialize()
        {
            RegisterViewsAndServices();
            RegisterConfigurationViews();
            if (_authContext.CheckPermission(PredefinedPermissions.MarketingContent_PublishingManage) ||
                _authContext.CheckPermission(PredefinedPermissions.MarketingDynamic_ContentManage) ||
                _authContext.CheckPermission(PredefinedPermissions.MarketingPromotionsManage))
            {
                var navigationManager = _container.Resolve <NavigationManager>();
                //Register main view
                var homeViewModel = _container.Resolve <IMainMarketingViewModel>();
                var homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

                navigationManager.RegisterNavigationItem(homeNavItem);

                //Register menu view
                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                {
                    NavigateCommand  = new DelegateCommand <NavigationItem>((x) => { navigationManager.Navigate(homeNavItem); }),
                    Caption          = "Marketing",
                    Category         = NavigationNames.ModuleName,
                    ImageResourceKey = "Icon_Module_Promotions",
                    ItemBackground   = Color.FromRgb(244, 189, 26),
                    Order            = 40
                };
                navigationManager.RegisterNavigationItem(menuNavItem);
            }
        }
Beispiel #13
0
        private void LoadBackgrounds()
        {
            NavigationMenuItem menuItemOne = new NavigationMenuItem
            {
                Label     = "Home 1",
                Image     = new Uri("ms-appx:///Leaf.Shared/Images/DefaultHomeBackground.jpg"),
                Arguments = ""
            };
            NavigationMenuItem menuItemTwo = new NavigationMenuItem
            {
                Label     = "Home 2",
                Image     = new Uri("ms-appx:///Leaf.Shared/Images/HomeBackground1.jpg"),
                Arguments = ""
            };
            NavigationMenuItem menuItemThree = new NavigationMenuItem
            {
                Label     = "Home 3",
                Image     = new Uri("ms-appx:///Leaf.Shared/Images/HomeBackground2.jpg"),
                Arguments = ""
            };
            NavigationMenuItem menuItemFour = new NavigationMenuItem
            {
                Label     = "Home 4",
                Image     = new Uri("ms-appx:///Leaf.Shared/Images/HomeBackground3.jpg"),
                Arguments = ""
            };

            MenuItems.Add(menuItemOne);
            MenuItems.Add(menuItemTwo);
            MenuItems.Add(menuItemThree);
            MenuItems.Add(menuItemFour);
        }
Beispiel #14
0
        internal void UpdateSelection(object parameter)
        {
            if (parameter == null)
            {
                // Select "Home" menu item.
                this.SelectedNavMenuItem = this.NavMenuItems.FirstOrDefault();
                return;
            }

            var exampleInfo = parameter as ExampleInfo;

            if (exampleInfo != null)
            {
                // If parameter is example => select the menu item with corresponding control.
                this.SelectedNavMenuItem =
                    this.NavMenuItems.FirstOrDefault(i => i.NavigationParameter != null && i.NavigationParameter.Examples.Contains(exampleInfo));
                return;
            }

            var controlInfo = parameter as ControlInfo;

            if (controlInfo != null)
            {
                this.SelectedNavMenuItem = this.NavMenuItems.FirstOrDefault(n => n.NavigationParameter == controlInfo);
                return;
            }
        }
Beispiel #15
0
        private void NavView_Loaded(object sender, RoutedEventArgs e)
        {
            NavView.MenuItems.Add(new NavigationMenuItem()
            {
                Tag = "Caesar", Text = "Caesar Cipher", Icon = new SymbolIcon(Symbol.Switch)
            });
            NavView.MenuItems.Add(new NavigationMenuItem()
            {
                Tag = "DecBin", Text = "Decimal / Binary", Icon = new SymbolIcon(Symbol.Delete)
            });
            NavView.MenuItems.Add(new NavigationMenuItem()
            {
                Tag = "ASCII", Text = "Text / ASCII", Icon = new SymbolIcon(Symbol.FontColor)
            });
            NavView.MenuItems.Add(new NavigationMenuItem()
            {
                Tag = "Quadratic", Text = "Quadratic Calculator", Icon = new SymbolIcon(Symbol.Calculator)
            });

            ContentFrame.Navigate(typeof(Views.CaesarPage));
            NavigationMenuItem firstItem = (NavigationMenuItem)NavView.MenuItems[0];

            firstItem.IsSelected = true;
            SelectedTag          = firstItem.Tag.ToString();
            NavView.Header       = firstItem.Text;

            foreach (var navItem in NavView.MenuItems)
            {
                if (navItem is NavigationMenuItem)
                {
                    (navItem as NavigationMenuItem).Invoked += Nav_Invoked;
                }
            }
        }
Beispiel #16
0
        private void CreateSiteNavigationV0(Site site, IEnumerable <Page> sitePages)
        {
            // Create the default site menu (scope = main)
            var navigationMenu = new NavigationMenu()
            {
                Id        = KeyGen.NewGuid().ToString(),
                Title     = "Top Navigation Menu",
                SiteId    = site.Id,
                Scope     = "main",
                MenuItems = new List <NavigationMenuItem>()
            };

            // create a link for each top level public page (not private)
            int order        = 1;
            var orderedPages = sitePages.Where(x =>
                                               x.ParentPageId == null && x.IsPrivate == false
                                               )
                               .OrderBy(x => x.Path)
                               .ThenBy(x => x.Title)
                               .ToList();


            foreach (var page in orderedPages)
            {
                var menuItem = new NavigationMenuItem
                {
                    Id          = KeyGen.NewGuid().ToString(),
                    Title       = page.Title,
                    ContentType = "PageLink",
                    ContentId   = page.Id,
                    Order       = order
                };

                navigationMenu.MenuItems.Add(menuItem);
                order += 1;
            }

            var isNotificationsEnabled = GetProductContext(site.ClientId).Features.Get(FeatureId.Notifications)?.GetSettingValue <bool>("enabled") ?? false;

            if (isNotificationsEnabled)
            {
                // adding a notify me link here temporarily
                var notifyMeLink = new NavigationMenuItem()
                {
                    Id          = KeyGen.NewGuid().ToString(),
                    Title       = "NotifyMe",
                    ContentType = NavigationMenuItemType.ExternalURL,
                    ExternalURL = "/sys/notifyme/start",
                    Order       = order
                };

                navigationMenu.MenuItems.Add(notifyMeLink);
            }

            _connectDb.NavigationMenu.Add(navigationMenu);
            _connectDb.SaveChanges();
        }
        protected void LoadChildrenOfMenuItem(NavigationMenuItem item, List <NavigationMenuItem> items)
        {
            var children = items.Where(x => x.ParentId == item.Id).OrderBy(x => x.Order).ToList();

            foreach (var child in children)
            {
                LoadChildrenOfMenuItem(child, items);
                item.Children.Add(child);
            }
        }
        private async Task DeleteMenuItemChildrenAsync(NavigationMenuItem item)
        {
            var children = await _db.NavigationMenuItems.Where(x => x.ParentId == item.Id).ToListAsync();

            foreach (var child in children)
            {
                await DeleteMenuItemChildrenAsync(child);

                _db.NavigationMenuItems.Remove(child);
            }
        }
        /// <summary>
        /// Handles the row style for selected menu item.
        /// </summary>
        /// <param name="navigationMenuItem">Navigation menu item.</param>
        private void HandleRowStyleForSelectedMenuItem(NavigationMenuItem navigationMenuItem)
        {
            NavigationMenuItem previousSelectedItem = MenuItems.FirstOrDefault(m => m.RowColor == Color.Red);

            if (previousSelectedItem != null)
            {
                previousSelectedItem.RowColor = Color.Transparent;
            }

            NavigationMenuItem currentSelectedItem = MenuItems.FirstOrDefault(m => m.Title == MenuItemSelected.Title);

            currentSelectedItem.RowColor = Color.Red;
        }
Beispiel #20
0
        /// <summary>
        /// Navigate the specified args. Since we are triggering navigation outside the Detail view, we specify the URI "path"
        /// of the new page we are navigating to
        /// </summary>
        /// <returns>The navigate.</returns>
        /// <param name="args">Arguments.</param>
        private void Navigate(NavigationMenuItem args)
        {
            switch (args.Key)
            {
            case ("Settings"):
                this._navigationService.NavigateAsync($"Navigation/{nameof(Views.SettingsPage)}");
                break;

            default:
                this._navigationService.NavigateAsync($"Navigation/{nameof(Views.HomePage)}");
                break;
            }
        }
        /// <summary>
        /// Handles the navigation for selected menu item.
        /// </summary>
        /// <param name="navigationMenuItem">Navigation menu item.</param>
        private async void HandleNavigationForSelectedMenuItem(NavigationMenuItem navigationMenuItem)
        {
            //This is ugly need to clean it up
            NavigationPage nav = new NavigationPage();

            nav.BarBackgroundColor = Color.FromRgb(46, 56, 78);
            nav.BarTextColor       = Color.White;

            await _navigationService.NavigateToPageByPageData(nav, navigationMenuItem.PageContext);

            ((NavigationMasterPage)ConnectedToPage).IsPresented = false;
            ((NavigationMasterPage)ConnectedToPage).Detail      = nav;
        }
Beispiel #22
0
        private void NavItem_Invoked(NavigationMenuItem sender, object args)
        {
            switch (sender.Tag)
            {
            case "Navigation": MainFrame.Navigate(typeof(Pages.PageAccessContent)); break;

            case "games": break;

            case "music": break;

            case "content": break;
            }
        }
 private void LoadItemIntoNode(NavigationMenuItem item, TreeViewItemModel node)
 {
     node.Id          = item.Id;
     node.Text        = item.Title;
     node.HasChildren = (item.Children.Count > 0);
     //node.Expanded = node.HasChildren;
     node.Enabled = true;
     foreach (var child in item.Children)
     {
         var childNode = new TreeViewItemModel();
         LoadItemIntoNode(child, childNode);
         node.Items.Add(childNode);
     }
 }
        private void setMenu()
        {
            List <NavigationMenuItem> items        = new List <NavigationMenuItem>();
            List <NavigationMenuItem> detailItems1 = new List <NavigationMenuItem>();
            List <NavigationMenuItem> detailItems2 = new List <NavigationMenuItem>();
            List <NavigationMenuItem> detailItems3 = new List <NavigationMenuItem>();
            List <NavigationMenuItem> detailItems4 = new List <NavigationMenuItem>();
            NavigationMenuItem        detailItem   = new NavigationMenuItem();//优先数调度,首次适应算法,位示图法,银行家算法

            detailItem.Text = "优先数调度";
            NavigationMenuItem detailItem2 = new NavigationMenuItem();

            detailItem2.Text = "首次适应算法";
            NavigationMenuItem detailItem3 = new NavigationMenuItem();

            detailItem3.Text = "位示图法";

            NavigationMenuItem detailItem4 = new NavigationMenuItem();

            detailItem4.Text = "银行家算法";
            detailItems1.Add(detailItem);
            detailItems2.Add(detailItem2);
            detailItems3.Add(detailItem3);
            detailItems4.Add(detailItem4);
            NavigationMenuItem menuItem = new NavigationMenuItem();

            menuItem.Text  = "处理器调度";
            menuItem.Items = detailItems1.ToArray();
            NavigationMenuItem menuItem1 = new NavigationMenuItem();

            menuItem1.Text  = "内存管理";
            menuItem1.Items = detailItems2.ToArray();
            NavigationMenuItem menuItem2 = new NavigationMenuItem();

            menuItem2.AnchorRight = true;
            menuItem2.Text        = "磁盘管理";
            menuItem2.Items       = detailItems3.ToArray();
            NavigationMenuItem menuItem3 = new NavigationMenuItem();

            menuItem3.AnchorRight = true;
            menuItem3.Text        = "死锁预防";
            menuItem3.Items       = detailItems4.ToArray();
            items.Add(menuItem);
            items.Add(menuItem1);
            items.Add(menuItem2);
            items.Add(menuItem3);
            ucNavigationMenu.Items        = items.ToArray();
            ucNavigationMenu.ClickItemed += UcNavigationMenu_ClickItemed;
        }
        public Page GetPage(NavigationMenuItem page)
        {
            switch (page.Title)
            {
            case Constants.Pages.BusinessList:
                return(_navigation.GetPage <BusinessListPageViewModel>(null));

            case Constants.Pages.Favorites:
                return(_navigation.GetPage <FavoritesPageViewModel>(null));

            default:
                break;
            }
            return(null);
        }
        public async Task UpdateNavMenuItemAsync(NavigationMenuItem item)
        {
            Ensure.Argument.NotNull(item);

            var dbItem = await _db.NavigationMenuItems.FirstOrDefaultAsync(x => x.Id == item.Id);

            Ensure.NotNull(dbItem, $"Unable to find NavigationMenuItem (Id={item.Id})");

            dbItem.Title       = item.Title;
            dbItem.ExternalURL = item.ExternalURL;
            dbItem.ContentType = item.ContentType;
            dbItem.ContentId   = item.ContentId;
            dbItem.TargetType  = item.TargetType;
            await _db.SaveChangesAsync();
        }
        public NavigationMenuItem Build()
        {
            var root  = renderingContext?.GetDatasourceOrContextItem();
            var items = new List <NavigationMenuItem>();

            Build(root, items, null);

            var navigationMenuItem = new NavigationMenuItem
                                     (
                title: root?.DisplayName,
                url: root?.GetUrl(),
                children: root != null && renderingContext?.ContextItem != null ? items : null
                                     );

            return(navigationMenuItem);
        }
Beispiel #28
0
        public void Initialize()
        {
            RegisterViewsAndServices();

            if (_authContext.CheckPermission(PredefinedPermissions.CatalogCatalogsManage))
            {
                //Register menu item
                IViewModel homeViewModel = _container.Resolve <ICatalogMainViewModel>();
                var        homeNavItem   = new NavigationItem(NavigationNames.HomeName, homeViewModel);

                _navManager.RegisterNavigationItem(homeNavItem);

                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName)
                {
                    NavigateCommand  = new DelegateCommand <NavigationItem>((x) => _navManager.Navigate(homeNavItem)),
                    Caption          = "Catalogs",
                    Category         = NavigationNames.ModuleName,
                    ImageResourceKey = "Icon_Module_Catalogs",
                    Order            = 30,
                    ItemBackground   = Color.FromRgb(80, 133, 215)
                };
                _navManager.RegisterNavigationItem(menuNavItem);
            }

            if (_authContext.CheckPermission(PredefinedPermissions.PricingPrice_List_AssignmentsManage) ||
                _authContext.CheckPermission(PredefinedPermissions.PricingPrice_ListsManage))
            {
                //Register PRICELIST menu item
                IViewModel homeViewModel        = _container.Resolve <IMainPriceListViewModel>();
                var        homeNavItemPriceList = new NavigationItem(NavigationNames.HomeNamePriceList, homeViewModel);
                _navManager.RegisterNavigationItem(homeNavItemPriceList);

                var menuNavItem = new NavigationMenuItem(NavigationNames.MenuNamePriceList)
                {
                    NavigateCommand  = new DelegateCommand <NavigationItem>((x) => _navManager.Navigate(homeNavItemPriceList)),
                    Caption          = "Price Lists",
                    Category         = NavigationNames.ModuleName,
                    ImageResourceKey = "Icon_Module_PriceLists",
                    ItemBackground   = Color.FromRgb(211, 66, 58),
                    Order            = 31
                };
                _navManager.RegisterNavigationItem(menuNavItem);
            }
        }
        public async Task <IEnumerable <NavigationMenuItem> > GenerateMenuItems()
        {
            Settings settings = await _settingsRepository.GetWithFallback();

            PageData rootPageData = await _sitecoreService.GeneratePageData(
                settings.SitecoreNavigationRootId,
                PayloadType.Content,
                new List <ScopeType> () {
                ScopeType.Self,
                ScopeType.Children
            },
                Constants.Sitecore.Fields.Teasers.TeaserSelector,
                settings.SitecoreDefaultLanguage);

            if (rootPageData == null || rootPageData.ItemContext == null)
            {
                return(null);
            }

            List <NavigationMenuItem> menuItems = new List <NavigationMenuItem> ();

            for (int i = 0; i < rootPageData.ItemContext.ResultCount; i++)
            {
                ISitecoreItem item = rootPageData.ItemContext [i];

                if (item == null)
                {
                    continue;
                }

                NavigationMenuItem menuItem = new NavigationMenuItem {
                    Title       = item.GetValueFromField(Constants.Sitecore.Fields.Navigation.NavigationTitle),
                    RowColor    = Color.Transparent,
                    PageContext = await GetPageData(item, rootPageData),
                    ShowInMenu  = item.GetCheckBoxValueFromField(Constants.Sitecore.Fields.Navigation.ShowInNavigation),
                    IconSource  = item.GetValueFromField(Constants.Sitecore.Fields.Navigation.Icon)
                };

                menuItems.Add(menuItem);
            }

            return(menuItems);
        }
        public async Task <bool> Authorize(NavigationMenuItem item)
        {
            if (item.ContentType == NavigationMenuItemType.Label)
            {
                return(true);
            }

            if (item.ContentType == NavigationMenuItemType.ExternalURL)
            {
                return(true);
            }

            var provider = GetNavMenuContentProvider(item.ContentType);

            if (provider == null)
            {
                throw new Exception("No provider");
            }

            return(await provider.Authorize(item.ContentId));
        }
        public void Initialize()
        {
            RegisterViewsAndServices();
            RegisterConfigurationViews();

            var navigationManager = _container.Resolve<NavigationManager>();

            //Register menu item
            //var homeViewModel = _container.Resolve<IInventoryHomeViewModel>();
            var homeViewModel = _container.Resolve<IMainFulfillmentViewModel>();
            var homeNavItem = new NavigationItem(NavigationNames.HomeName, homeViewModel);

            navigationManager.RegisterNavigationItem(homeNavItem);

            var menuNavItem = new NavigationMenuItem(NavigationNames.MenuName);
            menuNavItem.NavigateCommand = new DelegateCommand<NavigationItem>((x) => { navigationManager.Navigate(homeNavItem); });
            menuNavItem.Caption = "Fulfillment";
            menuNavItem.ImageResourceKey = "Fulfillment";//"/Presentation.Fulfillment;component/Resources/images/fulfillment.png";
            menuNavItem.Order = 60;

            navigationManager.RegisterNavigationItem(menuNavItem);

            //_regionManager.RegisterViewWithRegion(RegionNames.MenuRegion, () => _container.Resolve<IFulfillmentNavigationCommandViewModel>().View);
        }