public bool Paste(IEnumName ienumName_0, ref bool bool_2) { if (this.Category == "OLE DB连接") { bool_2 = false; return(false); } bool flag2 = true; try { if (bool_2) { ienumName_0.Reset(); IName name = ienumName_0.Next(); if (((name as IDatasetName).WorkspaceName.Type != esriWorkspaceType.esriFileSystemWorkspace) && ((name as IDatasetName).WorkspaceName.PathName == this.iworkspaceName_0.PathName)) { IDatasetContainer container = (this.iworkspaceName_0 as IName).Open() as IDatasetContainer; while (name != null) { container.AddDataset(name.Open() as IDataset); (name as IFeatureClassName).FeatureDatasetName = null; IGxObject obj2 = new GxDataset(); (name as IDatasetName).WorkspaceName = this.iworkspaceName_0; (obj2 as IGxDataset).DatasetName = name as IDatasetName; obj2.Attach(this, this.igxCatalog_0); this.igxCatalog_0.ObjectAdded(obj2); name = ienumName_0.Next(); } return(true); } } else { IEnumNameMapping mapping; flag2 = false; IGeoDBDataTransfer transfer = new MyGeoDBDataTransfer(); transfer.GenerateNameMapping(ienumName_0, this.iworkspaceName_0 as IName, out mapping); frmGeoDBDataTransfer transfer2 = new frmGeoDBDataTransfer { EnumNameMapping = mapping, ToName = this.iworkspaceName_0 as IName, GeoDBTransfer = transfer }; if (transfer2.ShowDialog() == DialogResult.OK) { this.Refresh(); return(true); } return(false); } } catch (Exception exception) { MessageBox.Show(exception.Message); return(false); } return(flag2); }
public bool Paste(IEnumName ienumName_0, ref bool bool_2) { try { if (bool_2) { ienumName_0.Reset(); IName name = ienumName_0.Next(); if (((name as IDatasetName).WorkspaceName.Type != esriWorkspaceType.esriFileSystemWorkspace) && ((name as IDatasetName).WorkspaceName.PathName == this.idatasetName_0.WorkspaceName.PathName)) { IDatasetContainer container = (this.idatasetName_0 as IName).Open() as IDatasetContainer; if (container != null) { while (name != null) { IGxObject obj2; if (name is IFeatureDatasetName) { IEnumDatasetName subsetNames = (name as IDatasetName).SubsetNames; subsetNames.Reset(); for (IDatasetName name3 = subsetNames.Next(); name3 != null; name3 = subsetNames.Next()) { container.AddDataset((name3 as IName).Open() as IDataset); obj2 = new GxDataset(); if (name3 is IFeatureClassName) { (name3 as IFeatureClassName).FeatureDatasetName = this.idatasetName_0; } else if (name3 is IRelationshipClassName) { (name3 as IRelationshipClassName).FeatureDatasetName = this.idatasetName_0; } else if (name3 is IGeometricNetworkName) { (name3 as IGeometricNetworkName).FeatureDatasetName = this.idatasetName_0; } (obj2 as IGxDataset).DatasetName = name3; obj2.Attach(this, this.igxCatalog_0); this.igxCatalog_0.ObjectAdded(obj2); } } else { container.AddDataset(name.Open() as IDataset); obj2 = new GxDataset(); if (name is IFeatureClassName) { (name as IFeatureClassName).FeatureDatasetName = this.idatasetName_0; } else if (name is IRelationshipClassName) { (name as IRelationshipClassName).FeatureDatasetName = this.idatasetName_0; } else if (name is IGeometricNetworkName) { (name as IGeometricNetworkName).FeatureDatasetName = this.idatasetName_0; } (obj2 as IGxDataset).DatasetName = name as IDatasetName; obj2.Attach(this, this.igxCatalog_0); this.igxCatalog_0.ObjectAdded(obj2); } name = ienumName_0.Next(); } return(true); } } } else { IEnumNameMapping mapping; ienumName_0.Reset(); IGeoDBDataTransfer transfer = new GeoDBDataTransferClass(); transfer.GenerateNameMapping(ienumName_0, this.idatasetName_0.WorkspaceName as IName, out mapping); frmGeoDBDataTransfer transfer2 = new frmGeoDBDataTransfer { EnumNameMapping = mapping, ToName = this.idatasetName_0 as IName, GeoDBTransfer = transfer }; if (transfer2.ShowDialog() == DialogResult.OK) { this.Refresh(); return(true); } } } catch (Exception exception) { MessageBox.Show(exception.Message); return(false); } return(false); }