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); }
private bool method_0(string string_1, string string_2, bool bool_0) { IGxObject obj2 = null; IDatasetName name; IWorkspaceName name2; switch (string_2.ToLower()) { case ".bmp": case ".png": case ".jpg": case ".tif": case ".img": case ".sid": obj2 = new GxRasterDataset(); name = new RasterDatasetNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.RasterWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".mdb": obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.AccessWorkspaceFactory", PathName = string_1 }; (obj2 as IGxDatabase).WorkspaceName = name2; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".shp": obj2 = new GxShapefileDataset(); name = new FeatureClassNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".dbf": if ( !File.Exists(Path.Combine(Path.GetDirectoryName(string_1), Path.GetFileNameWithoutExtension(string_1) + ".shp"))) { obj2 = new GxDataset(); name = new TableNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ShapefileWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); } return(false); case ".sde": obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.SdeWorkspaceFactory", PathName = string_1 }; (obj2 as IGxDatabase).WorkspaceName = name2; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".lyr": obj2 = new GxLayer(); (obj2 as IGxFile).Path = string_1; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".dwg": case ".dxf": obj2 = new GxCadDataset(); name = new CadDrawingNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.CadWorkspaceFactory", PathName = Path.GetDirectoryName(string_1) }; name.Name = Path.GetFileName(string_1); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); case ".doc": case ".xls": obj2 = new GxOfficeFile(); (obj2 as IGxFile).Path = string_1; obj2.Attach(this.igxObject_0, this.igxCatalog_0); if (bool_0) { this.igxCatalog_0.ObjectAdded(obj2); } return(true); } return(false); }
private void method_5() { try { int num; IGxObject obj2; for (num = 0; num < this.openFolderDataHelper_0.m_DirectoryList.Count; num++) { obj2 = new GxFolder(); (obj2 as IGxFile).Path = this.openFolderDataHelper_0.m_DirectoryList[num].Path; obj2.Attach(this, this.igxCatalog_0); } for (num = 0; num < this.openFolderDataHelper_0.m_FileList.Count; num++) { IDatasetName name; IWorkspaceName name2; string type = this.openFolderDataHelper_0.m_FileList[num].Type; string str2 = type; switch (str2) { case null: break; case "TIN": { obj2 = new GxDataset(); name = new TinNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.TinWorkspaceFactory", PathName = System.IO.Path.GetDirectoryName(this.openFolderDataHelper_0.m_FileList[num].Path) }; name.Name = System.IO.Path.GetFileName(this.openFolderDataHelper_0.m_FileList[num].Path); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this, this.igxCatalog_0); continue; } case "GRID": { obj2 = new GxRasterDataset(); name = new RasterDatasetNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.RasterWorkspaceFactory", PathName = System.IO.Path.GetDirectoryName(this.openFolderDataHelper_0.m_FileList[num].Path) }; name.Name = System.IO.Path.GetFileName(this.openFolderDataHelper_0.m_FileList[num].Path); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this, this.igxCatalog_0); continue; } default: { if (!(str2 == "COVERAGE")) { if (!(str2 == "FILEGDB")) { break; } obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.FileGDBWorkspaceFactory.1", PathName = this.openFolderDataHelper_0.m_FileList[num].Path }; (obj2 as IGxDatabase).WorkspaceName = name2; obj2.Attach(this, this.igxCatalog_0); } else { obj2 = new GxCoverageDataset(); name = new CoverageNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ArcInfoWorkspaceFactory.1", PathName = System.IO.Path.GetDirectoryName(this.openFolderDataHelper_0.m_FileList[num].Path) }; name.Name = System.IO.Path.GetFileName(this.openFolderDataHelper_0.m_FileList[num].Path); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; obj2.Attach(this, this.igxCatalog_0); } continue; } } this.method_0(this.openFolderDataHelper_0.m_FileList[num].Path, type, false); } } catch { } }
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); }