/// <inheritdoc /> /// <summary> /// Returns all DNN Cultures with active / inactive state /// </summary> public List <TempTempCulture> CulturesWithState(int tenantId, int zoneId) { // note: var availableEavLanguages = new ZoneRuntime(zoneId, Log).Languages(true); var defaultLanguageCode = new PortalSettings(tenantId).DefaultLanguage; return((from c in LocaleController.Instance.GetLocales(tenantId) select new TempTempCulture( c.Value.Code, c.Value.Text, availableEavLanguages.Any(a => a.Active && a.Matches(c.Value.Code))) ) .OrderByDescending(c => c.Key == defaultLanguageCode) .ThenBy(c => c.Key).ToList()); }
/// <summary> /// Returns all DNN Cultures with active / inactive state /// </summary> public List <TempTempCulture> CulturesWithState(int tennantId, int zoneId) { // note: var availableEavLanguages = new ZoneRuntime(zoneId, Log).Languages(true); var defaultLanguageCode = new PortalSettings(tennantId).DefaultLanguage; var defaultLanguage = availableEavLanguages .FirstOrDefault(p => p.Matches(defaultLanguageCode)); //var defaultLanguageIsActive = defaultLanguage?.Active == true; return((from c in LocaleController.Instance.GetLocales(tennantId) select new TempTempCulture( c.Value.Code, c.Value.Text, availableEavLanguages.Any(a => a.Active && a.Matches(c.Value.Code)) //, //string.Equals(c.Value.Code, defaultLanguageCode, StringComparison.InvariantCultureIgnoreCase) && !defaultLanguageIsActive || //defaultLanguageIsActive && !string.Equals(c.Value.Code, defaultLanguageCode, // StringComparison.InvariantCultureIgnoreCase) ) ) .OrderByDescending(c => c.Key == defaultLanguageCode) .ThenBy(c => c.Key).ToList()); }