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