private static void WriteHistoryLine(IFeature ifeature_0, IFeature ifeature_1, IFeature ifeature_2, int int_0, DateTime dateTime_0) { string[] strArrays = (ZDEditTools.ZDFeatureClass as IDataset).Name.Split(new char[] { '.' }); ZDHistoryTable zDHistoryTable = new ZDHistoryTable(); IRow row = ZDEditTools.ZDChangeHisInfoTable.CreateRow(); RowOperator.SetFieldValue(row, zDHistoryTable.ChageDateFieldName, dateTime_0); RowOperator.SetFieldValue(row, zDHistoryTable.ChangeTypeFieldName, int_0); RowOperator.SetFieldValue(row, zDHistoryTable.OrigineZDOIDName, ifeature_0.OID); RowOperator.SetFieldValue(row, zDHistoryTable.NewZDOIDName, ifeature_1.OID); if (ifeature_2 != null) { RowOperator.SetFieldValue(row, zDHistoryTable.HisZDOIDName, ifeature_2.OID); } RowOperator.SetFieldValue(row, zDHistoryTable.ZDFeatureClassName, strArrays[(int)strArrays.Length - 1]); RowOperator.SetFieldValue(row, zDHistoryTable.ZDRegisterGuidName, ZDRegister.GetRegisterZDGuid(ZDEditTools.ZDFeatureClass)); row.Store(); }
public static IFeature Union(List <IFeature> list_0) { ITopologicalOperator4 shapeCopy = null; IGeometry geometry = null; List <IFeature> features = new List <IFeature>(); foreach (IFeature list0 in list_0) { features.Add(ZDEditTools.WriteHistory(list0)); if (shapeCopy != null) { geometry = shapeCopy.Union(list0.ShapeCopy); shapeCopy = geometry as ITopologicalOperator4; } else { shapeCopy = list0.ShapeCopy as ITopologicalOperator4; } } IFeature feature = ZDEditTools.ZDFeatureClass.CreateFeature(); feature.Shape = geometry; RowOperator.CopyFeatureAttributeToFeature(list_0[0], feature); feature.Store(); (ZDEditTools.ZDFeatureClass as IDataset).Name.Split(new char[] { '.' }); ZDHistoryTable zDHistoryTable = new ZDHistoryTable(); ZDEditTools.StartEditDateTime = DateTime.Now; int num = 0; foreach (IFeature list01 in list_0) { int num1 = num; num = num1 + 1; ZDEditTools.WriteHistoryLine(list01, feature, features[num1], 1, ZDEditTools.StartEditDateTime); list01.Delete(); } ZDEditTools.Oids.Add(feature.OID); return(feature); }