/// <summary>
        /// 客户端地块对象转换到服务地块
        /// </summary>
        /// <param name="SourceXM"></param>
        /// <returns></returns>
        private GBDK ConversionDK(Gis_Dk SourceXM)
        {
            GBDK result = new GBDK();

            foreach (PropertyInfo pi in typeof(GBDK).GetProperties())
            {
                switch (pi.Name.ToLower())
                {
                case "":

                    break;

                case "ringlist":
                    List <Gis_Jzqy> tmplist   = (List <Gis_Jzqy>)SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null);
                    List <JZQY>     newdklist = new List <JZQY>();
                    foreach (Gis_Jzqy d in tmplist)
                    {
                        newdklist.Add(ConversionJzqy(d));
                    }

                    pi.SetValue(result, newdklist, null);
                    break;

                case "dltblist":
                    List <Gis_Dltb> tblist    = (List <Gis_Dltb>)SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null);
                    List <DLTB>     newtblist = new List <DLTB>();
                    foreach (Gis_Dltb d in tblist)
                    {
                        newtblist.Add(ConversionDltb(d));
                    }

                    pi.SetValue(result, newtblist, null);
                    break;

                case "xzdwlist":
                    List <Gis_Xzdw> dwlist    = (List <Gis_Xzdw>)SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null);
                    List <XZDW>     newdwlist = new List <XZDW>();
                    foreach (Gis_Xzdw d in dwlist)
                    {
                        newdwlist.Add(ConversionXzdw(d));
                    }

                    pi.SetValue(result, newdwlist, null);
                    break;

                default:
                    pi.SetValue(result, SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null), null);
                    break;
                }
            }
            return(result);
        }
        /// <summary>
        /// 客户端地块对象转换到服务地块
        /// </summary>
        /// <param name="SourceXM"></param>
        /// <returns></returns>
        private GBDK ConversionDK(Gis_Dk SourceXM)
        {
            GBDK result = new GBDK();
            foreach (PropertyInfo pi in typeof(GBDK).GetProperties())
            {
                switch (pi.Name.ToLower())
                {
                    case "":

                        break;
                    case "ringlist":
                        List<Gis_Jzqy> tmplist = (List<Gis_Jzqy>)SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null);
                        List<JZQY> newdklist = new List<JZQY>();
                        foreach (Gis_Jzqy d in tmplist)
                        {
                            newdklist.Add(ConversionJzqy(d));
                        }

                        pi.SetValue(result, newdklist, null);
                        break;
                    case "dltblist":
                        List<Gis_Dltb> tblist = (List<Gis_Dltb>)SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null);
                        List<DLTB> newtblist = new List<DLTB>();
                        foreach (Gis_Dltb d in tblist)
                        {
                            newtblist.Add(ConversionDltb(d));
                        }

                        pi.SetValue(result, newtblist, null);
                        break;
                    case "xzdwlist":
                        List<Gis_Xzdw> dwlist = (List<Gis_Xzdw>)SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null);
                        List<XZDW> newdwlist = new List<XZDW>();
                        foreach (Gis_Xzdw d in dwlist)
                        {
                            newdwlist.Add(ConversionXzdw(d));
                        }

                        pi.SetValue(result, newdwlist, null);
                        break;
                    default:
                        pi.SetValue(result, SourceXM.GetType().GetProperty(pi.Name.ToString()).GetValue(SourceXM, null), null);
                        break;
                }
            }
            return result;
        }
        private Gis_Data <Gis_Dk> getGisdata(string strSql, string conStr, bool allData)
        {
            Gis_Data <Gis_Dk> dataList = null;
            OracleDbOperation oracleDb = new OracleDbOperation(conStr);
            DataTable         dt       = oracleDb.ExecuteDataTable(strSql);

            if (dt.Rows.Count == 1)
            {
                dataList = (Gis_Data <Gis_Dk>) new DataTableOperation().ConvertFromDataRowToEntity(dt.Rows[0], typeof(Gis_Data <Gis_Dk>));

                strSql = "select * from gis_dk where gisId = " + dataList.GisId;

                dt = oracleDb.ExecuteDataTable(strSql);

                for (int i = 0; i < dt.Rows.Count; i++)
                {
                    Gis_Dk dk = (Gis_Dk) new DataTableOperation().ConvertFromDataRowToEntity(dt.Rows[i], typeof(Gis_Dk));
                    dk.GeoID = i;

                    ////界址点
                    strSql = "select * from gis_jzd where gisid = '{0}' and dkid = '{1}' order by dkqh,xh ";
                    strSql = string.Format(strSql, dataList.GisId, dk.DkId);
                    DataTable dtJzd = oracleDb.ExecuteDataTable(strSql);

                    string   dkqh = string.Empty;
                    Gis_Jzqy jzqy = null;
                    for (int j = 0; j < dtJzd.Rows.Count; j++)
                    {
                        if ((dtJzd.Rows[j]["dkqh"].ToString() != dkqh && jzqy != null) || j == dtJzd.Rows.Count - 1)
                        {
                            dk.RingList.Add(jzqy);
                        }
                        if (dtJzd.Rows[j]["dkqh"].ToString() != dkqh)
                        {
                            jzqy       = new Gis_Jzqy();
                            jzqy.GeoID = int.Parse(dtJzd.Rows[j]["dkqh"].ToString());
                        }
                        Gis_Jzd jzd = (Gis_Jzd) new DataTableOperation().ConvertFromDataRowToEntity(dtJzd.Rows[j], typeof(Gis_Jzd));
                        jzd.GeoID = jzd.XH;
                        jzqy.PointList.Add(jzd);

                        dkqh = dtJzd.Rows[j]["dkqh"].ToString();
                    }
                    if (allData)
                    {
                        ////地类图斑
                        strSql = "select * from gis_dltb where gisId = {0} and dkId = '{1}'";
                        strSql = string.Format(strSql, dataList.GisId, dk.DkId);
                        DataTable dtDltb = oracleDb.ExecuteDataTable(strSql);
                        for (int j = 0; j < dtDltb.Rows.Count; j++)
                        {
                            Gis_Dltb dltb = (Gis_Dltb) new DataTableOperation().ConvertFromDataRowToEntity(dtDltb.Rows[j], typeof(Gis_Dltb));
                            dk.DLTBList.Add(dltb);
                        }

                        ////线状地物
                        strSql = "select * from gis_xzdw where gisId = {0} and dkId = '{1}'";
                        strSql = string.Format(strSql, dataList.GisId, dk.DkId);
                        DataTable dtXzdw = oracleDb.ExecuteDataTable(strSql);
                        for (int j = 0; j < dtXzdw.Rows.Count; j++)
                        {
                            Gis_Xzdw xzdw = (Gis_Xzdw) new DataTableOperation().ConvertFromDataRowToEntity(dtXzdw.Rows[j], typeof(Gis_Xzdw));
                            dk.XZDWList.Add(xzdw);
                        }
                    }
                    dataList.DkList.Add(dk);
                }
            }
            return(dataList);
        }