public static Website GetWebsite(long versionNumber = 0, Language language = null) { if (language == null) { language = FrameworkSettings.GetCurrentLanguage(); } var key = "GetWebsite?version=" + versionNumber + "&languageId=" + language.ID; var website = ContextHelper.GetFromRequestContext(key); if (website != null) { return((Website)website); } website = WebsitesMapper.GetDataModel().MediaDetails.FirstOrDefault(i => i.HistoryVersionNumber == versionNumber && i.MediaType.Name == enumName && i.LanguageID == language.ID); if (website == null) { var defaultLanguage = LanguagesMapper.GetDefaultLanguage(); website = WebsitesMapper.GetDataModel().MediaDetails.FirstOrDefault(i => i.HistoryVersionNumber == versionNumber && i.MediaType.Name == enumName && i.LanguageID == defaultLanguage.ID); } ContextHelper.SetToRequestContext(key, website); return((Website)website); }
public string GetPageTitle() { if (FrameworkSettings.Current == null) { return(""); } if (!string.IsNullOrEmpty(contextPageTitle)) { return(contextPageTitle); } if (this.Title != this.LinkTitle) { return(this.Title); } var pageTitle = ""; var details = this.GetAllParentMediaDetails(LanguageID).Reverse().ToList(); if (details.Count == 0) { details.Add(WebsitesMapper.GetWebsite()); } var counter = 0; foreach (MediaDetail detail in details) { pageTitle += detail.Title; counter++; if (counter < details.Count) { pageTitle += " - "; } } contextPageTitle = pageTitle; return(contextPageTitle); }
public FrameworkLibrary.Website GetWebsite() { return(WebsitesMapper.GetWebsite(0, this.Language)); /*var currentItem = this; * FrameworkLibrary.Website website = null; * * while (currentItem.Media.ParentMediaID != null) * { * if (currentItem.MediaTypeID == MediaTypesMapper.GetByEnum(MediaTypeEnum.Website).ID) * { * website = (FrameworkLibrary.Website)currentItem; * break; * } * * currentItem = (MediaDetail)currentItem.Media.ParentMedia.MediaDetails.FirstOrDefault(i => i.HistoryVersionNumber == 0 && i.LanguageID == this.LanguageID); * } * * return website;*/ }
public static List <string> GetAllWebsiteVirtualPaths() { if (allWebVirtualPaths == null) { allWebVirtualPaths = new List <string>(); } if (allWebVirtualPaths.Count > 0) { return(allWebVirtualPaths); } allWebVirtualPaths = (List <string>)ContextHelper.GetFromRequestContext("WebsiteVirtualPaths"); if (allWebVirtualPaths == null || !allWebVirtualPaths.Any()) { allWebVirtualPaths = WebsitesMapper.GetDataModel().MediaDetails.Where(i => !i.IsDeleted && i.PublishDate <= DateTime.Now && (i.ExpiryDate == null || i.ExpiryDate > DateTime.Now) && i.MediaType.Name == enumName && i.HistoryVersionNumber == 0 && i.Language.IsActive).Select(i => i.CachedVirtualPath).Distinct().ToList(); //var test = WebsitesMapper.GetDataModel().MediaDetails.Where(i => i.MediaType.Name == enumName).ToList(); ContextHelper.SetToRequestContext("WebsiteVirtualPaths", allWebVirtualPaths); } return(allWebVirtualPaths); }
public static string GetPageNotFoundHandler(Language language) { return(WebsitesMapper.GetWebsite(0, language).AutoCalculatedVirtualPath + "page-not-found/"); }