public ActionResult MyAccountMenu(MyAccountPageType id) { var referenceSettings = _settingsService.GetSiteSettings <ReferencePageSettings>(); var layoutsettings = _settingsService.GetSiteSettings <LayoutSettings>(); if (referenceSettings == null || layoutsettings == null) { return(new EmptyResult()); } var model = new MyAccountNavigationViewModel { CurrentPageType = MyAccountPageType.Link, MenuItemCollection = new LinkItemCollection() }; var menuItems = layoutsettings.MyAccountCmsMenu; if (menuItems == null) { return(PartialView("_ProfileSidebar", model)); } menuItems = menuItems.CreateWritableClone(); model.MenuItemCollection.AddRange(menuItems); return(PartialView("_ProfileSidebar", model)); }
public ActionResult MyAccountMenu(MyAccountPageType id) { var referenceSettings = _settingsService.GetSiteSettings <ReferencePageSettings>(); var layoutsettings = _settingsService.GetSiteSettings <LayoutSettings>(); if (referenceSettings == null || layoutsettings == null) { return(new EmptyResult()); } var selectedSubNav = _cookieService.Get(Constant.Fields.SelectedNavOrganization); var organization = _organizationService.GetCurrentFoundationOrganization(); var canSeeOrganizationNav = _customerService.CanSeeOrganizationNav(); var model = new MyAccountNavigationViewModel { Organization = canSeeOrganizationNav ? _organizationService.GetOrganizationModel(organization) : null, CurrentOrganization = canSeeOrganizationNav ? !string.IsNullOrEmpty(selectedSubNav) ? _organizationService.GetOrganizationModel(_organizationService.GetSubFoundationOrganizationById(selectedSubNav)) : _organizationService.GetOrganizationModel(organization) : null, CurrentPageType = id, OrganizationPage = referenceSettings.OrganizationMainPage, SubOrganizationPage = referenceSettings.SubOrganizationPage, MenuItemCollection = new LinkItemCollection() }; var menuItems = layoutsettings.MyAccountMenu; if (menuItems == null) { return(PartialView("_ProfileSidebar", model)); } var wishlist = _contentLoader.Get <WishListPage>(referenceSettings.WishlistPage); menuItems = menuItems.CreateWritableClone(); if (model.Organization != null) { if (wishlist != null) { var url = wishlist.LinkURL.Contains("?") ? wishlist.LinkURL.Split('?').First() : wishlist.LinkURL; var item = menuItems.FirstOrDefault(x => x.Href.Substring(1).Equals(url)); if (item != null) { menuItems.Remove(item); } } menuItems.Add(new LinkItem { Href = _urlResolver.GetUrl(referenceSettings.QuickOrderPage), Text = _localizationService.GetString("/Dashboard/Labels/QuickOrder", "Quick Order") }); } else if (organization != null) { if (wishlist != null) { var url = wishlist.LinkURL.Contains("?") ? wishlist.LinkURL.Split('?').First() : wishlist.LinkURL; var item = menuItems.FirstOrDefault(x => x.Href.Substring(1).Equals(url)); if (item != null) { item.Text = _localizationService.GetString("/Dashboard/Labels/OrderPad", "Order Pad"); } } } model.MenuItemCollection.AddRange(menuItems); return(PartialView("_ProfileSidebar", model)); }
public ActionResult MyAccountMenu(MyAccountPageType id) { var startPage = _contentLoader.Get <DemoHomePage>(ContentReference.StartPage); if (startPage == null) { return(new EmptyResult()); } var selectedSubNav = _cookieService.Get(Constant.Fields.SelectedNavSuborganization); var organization = _organizationService.GetCurrentFoundationOrganization(); var canSeeOrganizationNav = _customerService.CanSeeOrganizationNav(); var model = new MyAccountNavigationViewModel { Organization = canSeeOrganizationNav ? _organizationService.GetOrganizationModel(organization) : null, CurrentOrganization = canSeeOrganizationNav ? !string.IsNullOrEmpty(selectedSubNav) ? _organizationService.GetOrganizationModel(_organizationService.GetSubFoundationOrganizationById(selectedSubNav)) : _organizationService.GetOrganizationModel(organization) : null, CurrentPageType = id, OrganizationPage = startPage.OrganizationMainPage, SubOrganizationPage = startPage.SubOrganizationPage, MenuItemCollection = new LinkItemCollection() }; var menuItems = startPage.ShowCommerceHeaderComponents ? startPage.MyAccountCommerceMenu : startPage.MyAccountCmsMenu; if (menuItems == null) { return(PartialView("_ProfileSidebar", model)); } var wishlist = _contentLoader.Get <WishListPage>(startPage.WishlistPage); menuItems = menuItems.CreateWritableClone(); if (model.Organization != null) { if (wishlist != null) { var url = wishlist.LinkURL.Contains("?") ? wishlist.LinkURL.Split('?').First() : wishlist.LinkURL; var item = menuItems.FirstOrDefault(x => x.Href.Substring(1).Equals(url)); if (item != null) { menuItems.Remove(item); } } menuItems.Add(new LinkItem { Href = _urlResolver.GetUrl(startPage.QuickOrderPage), Text = _localizationService.GetString("/Dashboard/Labels/QuickOrder", "Quick Order") }); } else if (organization != null) { if (wishlist != null) { var url = wishlist.LinkURL.Contains("?") ? wishlist.LinkURL.Split('?').First() : wishlist.LinkURL; var item = menuItems.FirstOrDefault(x => x.Href.Substring(1).Equals(url)); if (item != null) { item.Text = _localizationService.GetString("/Dashboard/Labels/OrderPad", "Order Pad"); } } } model.MenuItemCollection.AddRange(menuItems); if (id == MyAccountPageType.Organization) { return(PartialView("_ProfileSidebar", model)); } var currentContent = _pageRouteHelper.Page; foreach (var menuItem in menuItems) { if (menuItem.Href != null) { var content = UrlResolver.Current.Route(new UrlBuilder(menuItem.Href)); if (content == null) { continue; } if (currentContent.ContentLink == content.ContentLink) { model.CurrentPageText = menuItem.Text; } } } return(PartialView("_ProfileSidebar", model)); }