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