コード例 #1
0
        private void txtReceiveAddress_Leave(object sender, EventArgs e)
        {
            if (!string.IsNullOrEmpty(txtReceiveAddress.Text))
            {
                BindPrintMark();
            }
            // 如果收件的省市区存在的话就对的,不用提取收件省市区了。
            if (!string.IsNullOrEmpty(dgvReceiveArea.Text))
            {
                return;
            }
            // 根据收件的地址,获取到百度地图提供的省市区信息
            var result = BaiduMapHelper.GetProvCityDistFromBaiduMap(txtReceiveAddress.Text);

            if (result != null)
            {
                var area = string.Format("{0}-{1}-{2}", result.Result.AddressComponent.Province.Trim(), result.Result.AddressComponent.City.Trim(), result.Result.AddressComponent.District.Trim());
                dgvReceiveArea.Text = area;
                if (string.IsNullOrEmpty(dgvReceiveArea.Text))
                {
                    BaseAreaManager areaManager = new BaseAreaManager(BillPrintHelper.DbHelper);
                    // 去数据库找
                    var countyEntity = areaManager.GetList <BaseAreaEntity>(new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName, result.Result.AddressComponent.District.Trim())).FirstOrDefault();
                    if (countyEntity != null)
                    {
                        var cityEntity     = areaManager.GetObject(countyEntity.ParentId);
                        var provinceEntity = areaManager.GetObject(cityEntity.ParentId);
                        dgvReceiveArea.Text = string.Format("{0}-{1}-{2}", provinceEntity.FullName, cityEntity.FullName, countyEntity.FullName);
                    }
                }
            }
        }
コード例 #2
0
 /// <summary>
 /// 自动获取到地址所在省市区
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void txtSendAddress_Leave(object sender, EventArgs e)
 {
     if (!string.IsNullOrEmpty(txtSendAddress.Text))
     {
         var result = BaiduMapHelper.GetProvCityDistFromBaiduMap(dgvSearchSendArea.Text + txtSendAddress.Text);
         if (result != null)
         {
             var area = string.Format("{0}-{1}-{2}", result.Result.AddressComponent.Province.Trim(),
                                      result.Result.AddressComponent.City.Trim(),
                                      result.Result.AddressComponent.District.Trim());
             dgvSearchSendArea.Text = area;
             if (string.IsNullOrEmpty(dgvSearchSendArea.Text))
             {
                 BaseAreaManager areaManager = new BaseAreaManager(BillPrintHelper.DbHelper);
                 // 去数据库找
                 var countyEntity =
                     areaManager.GetList <BaseAreaEntity>(
                         new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName,
                                                           result.Result.AddressComponent.District.Trim())).
                     FirstOrDefault();
                 if (countyEntity != null)
                 {
                     var cityEntity     = areaManager.GetObject(countyEntity.ParentId);
                     var provinceEntity = areaManager.GetObject(cityEntity.ParentId);
                     dgvSearchSendArea.Text = string.Format("{0}-{1}-{2}", provinceEntity.FullName,
                                                            cityEntity.FullName, countyEntity.FullName);
                     // 详细地址把省市区过滤掉
                     txtSendAddress.Text =
                         txtSendAddress.Text.Replace(provinceEntity.FullName, "").Replace(
                             cityEntity.FullName, "").Replace(
                             countyEntity.FullName, "");
                 }
             }
             else
             {
                 // 详细地址把省市区过滤掉
                 txtSendAddress.Text =
                     txtSendAddress.Text.Replace(result.Result.AddressComponent.Province.Trim(), "").Replace(
                         result.Result.AddressComponent.City.Trim(), "").Replace(
                         result.Result.AddressComponent.District.Trim(), "");
             }
         }
     }
 }
コード例 #3
0
 /// <summary>
 /// 识别其他收货人地址
 /// </summary>
 /// <returns></returns>
 bool RecognitionOther()
 {
     try
     {
         var             content     = txtContent.Text;
         var             spliteArray = txtContent.Text.Split(' ');
         var             count       = 0;
         BaseAreaManager areaManager = new BaseAreaManager(BillPrintHelper.DbHelper);
         // 第一种情况 周天颖 13916641126 上海 上海市 嘉定区 嘉定镇街道 上海市嘉定区城中路20号上海大学C楼507室
         // 第二种情况 河北省  廊坊市  三河市  燕郊經濟技術開發區北京东燕郊开发区燕顺路星河皓月小区A9号楼4单元101  065201  丁雪莲  15811223286
         foreach (var s in spliteArray)
         {
             if (string.IsNullOrEmpty(s))
             {
                 continue;
             }
             if (DotNet.Utilities.ValidateUtil.IsChineseCharacters(s))
             {
                 if (!areaManager.Exists(new KeyValuePair <string, object>(BaseAreaEntity.FieldFullName, s)) || !areaManager.Exists(new KeyValuePair <string, object>(BaseAreaEntity.FieldShortName, s)))
                 {
                     if (s.Length <= 4)
                     {
                         txtRealName.Text = s;
                         count++;
                     }
                 }
             }
             if (DotNet.Utilities.ValidateUtil.IsMobile(s))
             {
                 txtMobile.Text = s;
                 count++;
             }
             if ((Regex.IsMatch(s, @"^\d{3,4}-\d{6,8}$", RegexOptions.IgnoreCase) || Regex.IsMatch(s, @"^\d{8}$", RegexOptions.IgnoreCase)) && (!DotNet.Utilities.ValidateUtil.IsMobile(s)))
             {
                 txtTelephone.Text = s;
                 count++;
             }
             if (Regex.IsMatch(s, @"^\d{6}$", RegexOptions.IgnoreCase) && s.Length == 6)
             {
                 txtPostCode.Text = s;
                 count++;
             }
         }
         var address = content.Replace(" ", "");
         if (!string.IsNullOrEmpty(txtRealName.Text))
         {
             address = address.Replace(txtRealName.Text, "");
         }
         if (!string.IsNullOrEmpty(txtMobile.Text))
         {
             address = address.Replace(txtMobile.Text, "");
         }
         if (!string.IsNullOrEmpty(txtTelephone.Text))
         {
             address = address.Replace(txtTelephone.Text, "");
         }
         if (!string.IsNullOrEmpty(txtPostCode.Text))
         {
             address = address.Replace(txtPostCode.Text, "");
         }
         //var result = BaiduHelper.GetProvCityDistFromBaiduMap(address);
         //if (result != null)
         //{
         //    txtProvince.Text = result.Result.AddressComponent.Province.Trim();
         //    txtCity.Text = result.Result.AddressComponent.City.Trim();
         //    txtCounty.Text = result.Result.AddressComponent.District.Trim();
         //    txtAddress.Text = address.Replace(txtProvince.Text, "").Replace(txtCity.Text, "").Replace(txtCounty.Text, "");
         //    count++;
         //}
         return(count > 0);
     }
     catch (Exception)
     {
         return(false);
     }
 }