Example #1
0
        /// <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);
            }
        }
Example #2
0
        /// <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);
        }