/// <summary> /// Binds the countries. /// </summary> private void BindCountries() { string currentValue = _ddlCountry.SelectedValue; _ddlCountry.Items.Clear(); _ddlCountry.SelectedIndex = -1; _ddlCountry.SelectedValue = null; _ddlCountry.ClearSelection(); var definedType = DefinedTypeCache.Get(new Guid(SystemGuid.DefinedType.LOCATION_COUNTRIES)); var countryValues = DefinedTypeCache.Get(Rock.SystemGuid.DefinedType.LOCATION_COUNTRIES.AsGuid()) .DefinedValues .OrderBy(v => v.Order) .ThenBy(v => v.Value) .ToList(); // Move default country to the top of the list string defaultCountryCode = GetDefaultCountry(); if (!string.IsNullOrWhiteSpace(defaultCountryCode)) { var defaultCountry = countryValues .Where(v => v.Value.Equals(defaultCountryCode, StringComparison.OrdinalIgnoreCase)) .FirstOrDefault(); if (defaultCountry != null) { _ddlCountry.Items.Add(new ListItem("Countries", string.Empty)); _ddlCountry.Items.Add(new ListItem(UseCountryAbbreviation ? defaultCountry.Value : defaultCountry.Description, defaultCountry.Value)); _ddlCountry.Items.Add(new ListItem("------------------------", "------------------------")); } } foreach (var country in countryValues) { _ddlCountry.Items.Add(new ListItem(UseCountryAbbreviation ? country.Value : country.Description, country.Value)); } bool?showCountry = GlobalAttributesCache.Get().GetValue("SupportInternationalAddresses").AsBooleanOrNull(); _ddlCountry.Visible = showCountry.HasValue && showCountry.Value; if (!string.IsNullOrWhiteSpace(currentValue)) { _ddlCountry.SetValue(currentValue); } else { _ddlCountry.SetValue(string.Empty); } }
/// <summary> /// Binds the countries data source to the selection control and sets the current value. /// </summary> private void RebindCountries() { string currentValue = _ddlCountry.SelectedValue; _ddlCountry.Items.Clear(); _ddlCountry.SelectedIndex = -1; _ddlCountry.SelectedValue = null; _ddlCountry.ClearSelection(); BindCountries(); string defaultCountryCode = GetDefaultCountry(); _ddlCountry.SetValue(string.IsNullOrWhiteSpace(currentValue) ? defaultCountryCode : currentValue); }