Example #1
0
 protected virtual void Initialize(Guid pageId, PageIdentity pageIdentity = PageIdentity.Unknown, bool promoteProducts = true)
 {
     this.currentUser = this.HttpContext.CurrentUser() ?? UserIdentityManager.GetActiveUser(this.Request, this.repository);
     this.ViewData["SettingsViewModel"] = this.settingsViewModel;
     this.ViewData["MainMenuViewModel"] = MenuViewModelFactory.CreateDefaultMenu(this.repository, pageId, currentUser, pageIdentity);
     this.ViewData["ShowLeftRailLogin"] = currentUser == null;
     //this.ViewData["MediaListViewModel"] = promoteProducts ? CategoryViewModelFactory.CreatePopularProducts(this.repository, null) : null;
     this.ViewData["HttpReferrer"] = this.Request.UrlReferrer != null?this.Request.UrlReferrer.ToString() : null;
 }
        public static MainMenuViewModel CreateDefaultMenu(IRepository repository, Guid current, User user, PageIdentity page = PageIdentity.Unknown)
        {
            var mainMenuViewModel = new MainMenuViewModel {
                MetaMenu = new List <MenuItemViewModel>()
            };

            mainMenuViewModel.Menu = CreateItems(repository, null, 0, current);
            mainMenuViewModel.Menu.Insert(0, new MenuItemViewModel
            {
                Name     = StringResource.admin_HomeShort,
                IsActive = current == Guid.Empty && page == PageIdentity.Unknown,
                Link     = new NavigationLink("Index", "Main")
            });

            if (user != null)
            {
                if (user.IsAdmin)
                {
                    mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                    {
                        Glyph = "glyphicon glyphicon-cog",
                        Name  = StringResource.admin_Dashboard,
                        Link  = new NavigationLink {
                            ActionName = "Pages", ControllerName = "Admin"
                        }
                    });
                }
                else
                {
                    /*
                     * mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                     * {
                     *  Glyph = "glyphicon glyphicon-briefcase",
                     *  Name = StringResource.nav_History,
                     *  Link = new NavigationLink { ActionName = "History", ControllerName = "User" },
                     *  IsActive = page == PageIdentity.History
                     * });
                     *
                     * var ordersCount = repository.GetOrderItemsCount(user);
                     *
                     * mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                     * {
                     *  Glyph = "glyphicon glyphicon-shopping-cart",
                     *  Name = StringResource.nav_Orders,
                     *  Link = new NavigationLink { ActionName = "Orders", ControllerName = "User" },
                     *  Badge = ordersCount > 0 ? ordersCount.ToString() : null,
                     *  IsActive = page == PageIdentity.Cart
                     * });
                     */

                    mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                    {
                        Glyph = "glyphicon glyphicon-user",
                        Name  = StringResource.nav_Profile,
                        Link  = new NavigationLink {
                            ActionName = "Profile", ControllerName = "User"
                        },
                        IsActive = page == PageIdentity.UserProfile
                    });
                }
            }

            if (user == null || !user.IsAdmin)
            {
                mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                {
                    Glyph = "glyphicon glyphicon-paperclip",
                    Name  = StringResource.form_Contact_us,
                    Link  = new NavigationLink {
                        ActionName = "Feedback", ControllerName = "Main"
                    },
                    IsActive = page == PageIdentity.Feedback
                });
            }

            if (user != null)
            {
                mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                {
                    Glyph = "glyphicon glyphicon-log-out",
                    Name  = StringResource.Logout,
                    Link  = new NavigationLink {
                        ActionName = "Logoff", ControllerName = "Main"
                    }
                });
            }
            else
            {
                mainMenuViewModel.MetaMenu.Add(new MenuItemViewModel
                {
                    Glyph = "glyphicon glyphicon-log-in",
                    Name  = StringResource.login_LoginAsUser,
                    Link  = new NavigationLink {
                        ActionName = "Login", ControllerName = "Main"
                    }
                });
            }

            return(mainMenuViewModel);
        }
Example #3
0
 protected override void Initialize(Guid pageId, PageIdentity pageIdentity = PageIdentity.Unknown, bool promoteProducts = true)
 {
     base.Initialize(pageId);
     this.ViewData["NavigationMenuViewModel"] = MenuViewModelFactory.CreateNavigationMenu(repository, null, this.Request);
     this.ViewData["BreadcrumbViewModel"]     = MenuViewModelFactory.CreateBreadcrumb(repository, null);
 }