Exemplo n.º 1
0
        public Common_AreaListVD(string prefixes, Base_AreaXmlVD areaInfo, string userProvince, string userCity, string userDistrict, AreaXML_Provinces topProvince = null, AreaXML_Cities topCity = null, AreaXML_Districts topDistrict = null, bool hideDistrict = false, bool showProvinceAllButton = false, bool showCityAllButton = false)
        {
            Prefixes = prefixes;

            Provinces = areaInfo.Provinces;
            Cities    = areaInfo.Cities;
            Districts = areaInfo.Districts;

            UserProvince = userProvince;
            UserCity     = userCity;
            UserDistrict = userDistrict;

            //如果首项为空,则ID设为-1
            topProvince = topProvince ?? new AreaXML_Provinces(-1, "", "", "");
            topCity     = topCity ?? new AreaXML_Cities(-1, 0, "", "", "", 0);
            topDistrict = topDistrict ?? new AreaXML_Districts(-1, 0, "");

            TopProvince = topProvince;
            TopCity     = topCity;
            TopDistrict = topDistrict;

            HideDistrict          = hideDistrict;
            ShowProvinceAllButton = showProvinceAllButton;
            ShowCityAllButton     = showCityAllButton;
        }
Exemplo n.º 2
0
        private AreaXML_Cities GetCityData(string attributeName, string value)
        {
            List <AreaXML_Cities> fullCitiesData = GetCitiesData();

            AreaXML_Cities city = (from c in fullCitiesData
                                   where c.GetType().GetProperty(attributeName).GetValue(c, null).ToString() == value//应用到反射
                                   select c).FirstOrDefault();

            return(city);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取制定城市名称CityName下面所有的区县数据
        /// </summary>
        /// <param name="cityName"></param>
        /// <returns></returns>
        public List <AreaXML_Districts> GetDistrictsData(string cityName)
        {
            if (!string.IsNullOrEmpty(cityName))
            {
                List <AreaXML_Cities> fullCitiesData = GetCitiesData();
                AreaXML_Cities        cityDta        = fullCitiesData.Where(c => c.CityName == cityName).FirstOrDefault();

                if (cityDta != null)
                {
                    return(GetDistrictsData(cityDta.ID));
                }
                else
                {
                    return(new List <AreaXML_Districts>());
                }
            }
            else
            {
                return(new List <AreaXML_Districts>());
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// 获取默认,或者用户所在地区的列表
        /// </summary>
        /// <param name="provinceName"></param>
        /// <param name="cityName"></param>
        /// <param name="TopProvince">Province第一项</param>
        /// <param name="TopCities">Cities第一项</param>
        /// <param name="TopDistricts">Districts第一项</param>
        /// <returns></returns>
        public Base_AreaXmlVD GetAreaDataByProvinceAndCity(string provinceName, string cityName, string districtName, AreaXML_Provinces TopProvince, AreaXML_Cities TopCities, AreaXML_Districts TopDistricts)
        {
            var vd = new Base_AreaXmlVD()
            {
                Provinces = this.GetProvincesData(),
                Cities    = this.GetCitiesData(provinceName),
                Districts = this.GetDistrictsData(cityName),

                CurrentProvince = provinceName ?? "",
                CurrentCity     = cityName ?? "",
                CurrentDistrict = districtName ?? ""
            };

            //加入第一行提示
            if (string.IsNullOrEmpty(provinceName))
            {
                vd.Cities    = this.GetCitiesData("北京市");
                vd.Districts = this.GetDistrictsData("北京市");
            }

            //新增第一项
            if (TopProvince != null)
            {
                vd.Provinces.Insert(0, TopProvince);
            }

            if (TopCities != null)
            {
                vd.Cities.Insert(0, TopCities);
            }

            if (TopDistricts != null)
            {
                vd.Districts.Insert(0, TopDistricts);
            }


            return(vd);
        }