public static Language GetLanguage(string code) { if (string.IsNullOrWhiteSpace(code)) { return(GetDefaultLanguage()); } var cachedResult = LanguageCache.CheckInCacheLanguageCode(code); if (cachedResult != null) { return(cachedResult); } var languageList = GetLanguageList(); var language = languageList.FirstOrDefault(item => item.Code.ToLowerInvariant() == code.ToLowerInvariant()); if (language == null) { language = GetDefaultLanguage(); } LanguageCache.AddToCacheLanguageCode(code, language); return(language); }