示例#1
0
        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();
        }
示例#2
0
        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);
        }