Ejemplo n.º 1
0
        /// <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);
        }
Ejemplo n.º 4
0
    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();
    }
Ejemplo n.º 5
0
    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);
        }