コード例 #1
0
        /// <summary>
        ///     Exports the tables.
        /// </summary>
        /// <param name="workspace">The workspace.</param>
        /// <param name="directory">The directory.</param>
        /// <param name="versionNumber">The version number.</param>
        /// <param name="table">The table.</param>
        /// <returns>
        ///     Returns a <see cref="IEnumerable{IXMLDOMElement}" /> representing the XML of the objects.
        /// </returns>
        private IEnumerable <IXMLDOMElement> ExportTables(IWorkspace workspace, string directory, string versionNumber, DataTable table)
        {
            IMMXMLImportExport4 ie = new MMFieldInfoIEClass();

            var tables  = workspace.GetTables().GroupBy(kvp => "");
            var exports = this.Export(directory, versionNumber, ie, tables);

            foreach (var tuple in exports)
            {
                var source = tuple.Item2 as IObjectClass;

                this.Export <IMMSpecialAUStrategyEx>(table, source, mmEditEvent.mmEventFeatureCreate,
                                                     mmEditEvent.mmEventFeatureUpdate,
                                                     mmEditEvent.mmEventFeatureDelete);

                this.Export <IMMValidationRule>(table, source, mmEditEvent.mmEventValidationRule);

                yield return(tuple.Item1);
            }
        }
コード例 #2
0
        /// <summary>
        ///     Exports the feature classes.
        /// </summary>
        /// <param name="workspace">The workspace.</param>
        /// <param name="directory">The directory.</param>
        /// <param name="versionNumber">The version number.</param>
        /// <param name="table">The table.</param>
        /// <returns>
        ///     Returns a <see cref="IEnumerable{IXMLDOMElement}" /> representing the XML of the objects.
        /// </returns>
        private IEnumerable <IXMLDOMElement> ExportFeatureClasses(IWorkspace workspace, string directory, string versionNumber, DataTable table)
        {
            IMMXMLImportExport4 ie = new MMFieldInfoIEClass();

            var featureClasses = workspace.GetFeatureClasses().GroupBy(kvp => (kvp.FeatureDataset != null) ? kvp.FeatureDataset.Name : "");
            var exports        = this.Export(directory, versionNumber, ie, featureClasses);

            foreach (var tuple in exports)
            {
                this.Export <IMMSpecialAUStrategyEx>(table, tuple.Item2, mmEditEvent.mmEventFeatureCreate,
                                                     mmEditEvent.mmEventFeatureUpdate,
                                                     mmEditEvent.mmEventFeatureDelete,
                                                     mmEditEvent.mmEventBeforeFeatureSplit,
                                                     mmEditEvent.mmEventFeatureSplit,
                                                     mmEditEvent.mmEventAfterFeatureSplit);

                this.Export <IMMAbandonAUStrategy>(table, tuple.Item2, mmEditEvent.mmEventAbandon);
                this.Export <IMMValidationRule>(table, tuple.Item2, mmEditEvent.mmEventValidationRule);

                yield return(tuple.Item1);
            }
        }