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); } } } }
/// <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(), ""); } } } }
/// <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); } }