/// <summary> /// 查询指定范围内的城市列表 /// </summary> /// <param name="latitude1"></param> /// <param name="longitude1"></param> /// <param name="latitude2"></param> /// <param name="longitude2"></param> /// <param name="Level"></param> /// <returns></returns> public static IList <Addr_OfficialCity> GetOfficialCityByLatiLongitudeScope(double latitude1, double longitude1, double latitude2, double longitude2, int Level) { double latitude = 0; if (latitude1 > latitude2) { latitude = latitude1; latitude1 = latitude2; latitude2 = latitude; } double longitude = 0; if (longitude1 > longitude2) { longitude = longitude1; longitude1 = longitude2; longitude2 = longitude; } return(Addr_OfficialCityBLL.GetModelList("[Level]=" + Level.ToString() + " AND ID IN (SELECT OfficialCity FROM MCS_GIS.dbo.GIS_OfficialCityGeo WHERE Latitude BETWEEN " + latitude1.ToString() + " AND " + latitude2.ToString() + " AND Longitude BETWEEN " + longitude1.ToString() + " AND " + longitude2.ToString() + ")")); }
/// <summary> /// 根据当前经纬度获取所在的城市信息 /// </summary> /// <param name="AuthKey">授权码</param> /// <param name="Latitude">纬度</param> /// <param name="Longitude">经度</param> /// <returns></returns> public static OfficialCity GetCurrentOfficialCityByGPS(UserInfo User, float Latitude, float Longitude) { LogWriter.WriteLog("MemberService.GetCurrentOfficialCityByGPS:UserName="******",Latitude=" + Latitude.ToString() + ",Longitude=" + Longitude.ToString()); if (User == null) { return(null); } try { double mgLat, mgLon; //转火星坐标 WGSToGCJAPI.Transform((double)Latitude, (double)Longitude, out mgLat, out mgLon); Addr_OfficialCity city = null; ///默认根据Google地图API获取所在地 string Provname, CityName, AreaName, FullAddress; int ret = GoogleMapAPI.latLngToChineseDistrict((float)mgLat, (float)mgLon, out Provname, out CityName, out AreaName, out FullAddress); if (ret == 0) { //省 IList <Addr_OfficialCity> _lists = Addr_OfficialCityBLL.GetModelList("Name LIKE '" + Provname + "%' AND [LEVEL]=1"); if (_lists.Count > 0) { city = _lists[0]; //市 _lists = Addr_OfficialCityBLL.GetModelList("Name LIKE '" + CityName + "%' AND SuperID=" + city.ID.ToString() + " AND [LEVEL]=2"); if (_lists.Count > 0) { city = _lists[0]; //区、县 _lists = Addr_OfficialCityBLL.GetModelList("Name LIKE '" + AreaName + "%' AND SuperID=" + city.ID.ToString() + " AND [LEVEL]=3"); if (_lists.Count > 0) { city = _lists[0]; } } } } else { int cityid = GIS_OfficialCityGeoBLL.GetNearOfficialCityByLatLong(Latitude, Longitude); city = new Addr_OfficialCityBLL(cityid).Model; } return(new OfficialCity(city)); } catch (System.Exception err) { LogWriter.WriteLog("MemberService.GetCurrentOfficialCityByGPS Exception!UserName=" + User.UserName, err); return(null); } }
/// <summary> /// 获取指定城市的下级城市,CityID=1时获取全国省份 /// </summary> /// <param name="AuthKey">匿名用户登录后的认证码</param> /// <param name="CityID">上级城市ID</param> /// <returns></returns> public static List <OfficialCity> GetSubCitysBySuper(UserInfo User, int CityID) { LogWriter.WriteLog("OfficialCityService.GetSubCitysBySuper:UserName="******",CityID=" + CityID.ToString()); if (User == null) { return(null); } IList <Addr_OfficialCity> citys = Addr_OfficialCityBLL.GetModelList("SuperID=" + CityID.ToString()); List <OfficialCity> lists = new List <OfficialCity>(citys.Count); foreach (Addr_OfficialCity item in citys) { lists.Add(new OfficialCity(item)); } return(lists); }
private void BindData(int ID) { ViewState["ID"] = ID; Addr_OfficialCityBLL _bll = new Addr_OfficialCityBLL(ID); lbl_ID.Text = _bll.Model.ID.ToString(); tbx_Name.Text = _bll.Model.Name; tree_SuperID.SelectValue = _bll.Model.SuperID.ToString(); tbx_Code.Text = _bll.Model.Code; tbx_CallAreaCode.Text = _bll.Model.CallAreaCode; tbx_PostCode.Text = _bll.Model.PostCode; tbx_Births.Text = _bll.Model.Births.ToString(); ddl_CityAttributeFlag.SelectedValue = _bll.Model.Attribute.ToString(); if (_bll.Model.Level != 0) { lbl_LevelName.Text = DictionaryBLL.GetDicCollections("Addr_OfficialCityLevel")[_bll.Model.Level.ToString()].Name; } btn_Save.Text = "修改"; btn_Save.ForeColor = System.Drawing.Color.Red; btn_Delete.Visible = true; MessageBox.ShowConfirm(btn_Delete, "数据删除将不可恢复,确定删除么?"); btn_Cancel.Visible = true; bt_AddSub.Visible = true; lbl_AlertInfo.Text = ""; if ((int)ViewState["ID"] == 1) { btn_Save.Enabled = false; } else { btn_Save.Enabled = true; } btn_Delete.Visible = Addr_OfficialCityBLL.GetModelList("SuperID=" + ViewState["ID"].ToString()).Count == 0; BindOfficialPopulation(); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { BindDropDown(); if (Request.QueryString["OrganizeCity"] == null) { MessageBox.ShowAndClose(this, "参数错误!"); return; } else { ViewState["OrganizeCity"] = int.Parse(Request.QueryString["OrganizeCity"]); Addr_OrganizeCityBLL organizecity = new Addr_OrganizeCityBLL((int)ViewState["OrganizeCity"]); if (organizecity.Model == null) { MessageBox.ShowAndClose(this, "参数错误!"); return; } else if (organizecity.GetAllChildNode().Rows.Count != 0) { MessageBox.ShowAndClose(this, "要加入的管理片区必须是最低一层的架构单元!"); return; } else { lb_OrganizeCityName.Text = organizecity.Model.Name; IList <Addr_OfficialCity> lists = Addr_OfficialCityBLL.GetModelList("Name like '%" + organizecity.Model.Name + "%'"); if (lists.Count > 0) { tr_OfficialCity.SelectValue = lists[0].ID.ToString(); tr_OfficialCity_Selected(null, null); } } } } }
/// <summary> /// 获取所有行政城市 /// </summary> /// <param name="AuthKey"></param> /// <returns></returns> public static List <OfficialCity> GetAllOfficialCitys(UserInfo User) { LogWriter.WriteLog("OfficialCitySerice.GetAllOfficialCitys:UserName="******"MCS_SYS.dbo.Addr_OfficialCity", c.OfficialCity, 1); if (prov > 0) { citys = Addr_OfficialCityBLL.GetModelList("Level<=3 AND Level1_SuperID=" + prov.ToString()); } } } if (citys == null) { citys = Addr_OfficialCityBLL.GetModelList("Level<=3"); } List <OfficialCity> lists = new List <OfficialCity>(citys.Count); foreach (Addr_OfficialCity item in citys) { lists.Add(new OfficialCity(item)); } return(lists); }