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 static Language GetCurrentLanguage() { Language language = (Language)ContextHelper.Get(SelectedLanguageKey, ContextType.Session); if (language == null) { language = (Language)ContextHelper.Get(SelectedLanguageKey, ContextType.RequestContext); if (language == null) { language = LanguagesMapper.GetDefaultLanguage(); ContextHelper.Set(SelectedLanguageKey, language, ContextType.RequestContext); } } if ((language != null) && (Thread.CurrentThread.CurrentCulture.Name != language.CultureCode)) { Thread.CurrentThread.CurrentCulture = new CultureInfo(language.CultureCode); } return(language); }