// GET: Global public ActionResult Header() { var headerNavigatePath = SettingsKeyInfoProvider.GetValue($"{SiteContext.CurrentSiteName}.HeaderNavigationPath"); var navigationLinks = Mapper.Map <List <NavigationLinkViewModel> >(NavigationLinksRepository.GetNavigationLinksByPath(headerNavigatePath) .OrderBy(x => x.NodeOrder)); var activeLinks = navigationLinks.SelectMany(x => x.ChildLinks) .Union(navigationLinks) .Where(x => !string.IsNullOrWhiteSpace(x.AssociatedPagePath) && RequestContext.GetContextItem <TreeNode>().NodeAliasPath.StartsWith(x.AssociatedPagePath, StringComparison.OrdinalIgnoreCase)) .ToList(); var activeLink = activeLinks.FirstOrDefault(x => x.AssociatedPagePath.Equals(activeLinks.Aggregate("", (max, cur) => max.Length > cur.AssociatedPagePath.Length ? max : cur.AssociatedPagePath))); if (activeLink != null) { activeLink.IsActive = true; } var socialLinks = SocialLinksRepository.GetAllSocialIcons().OrderBy(x => x.NodeOrder); var model = new HeaderViewModel { NavLinks = navigationLinks, SocLinks = Mapper.Map <List <SocialLinkViewModel> >(socialLinks), ActiveLink = activeLink }; return(PartialView("Header", model)); }
public ActionResult Footer() { var footerNavigationPath = SettingsKeyInfoProvider.GetValue($"{SiteContext.CurrentSiteName}.FooterNavigationPath"); var socialLinks = SocialLinksRepository.GetAllSocialIcons().OrderBy(x => x.NodeOrder); var navigationLinks = NavigationLinksRepository.GetNavigationLinksByPath(footerNavigationPath).OrderBy(x => x.NodeOrder); var model = new FooterViewModel { SocialLinks = Mapper.Map <List <SocialLinkViewModel> >(socialLinks), NavigationLinks = Mapper.Map <List <NavigationLinkViewModel> >(navigationLinks) }; return(PartialView("Footer", model)); }