private bool method_10(IFileName ifileName_0, bool bool_2) { int num; string path = ifileName_0.Path; if (Directory.Exists(path)) { num = path.LastIndexOf(@"\"); path = path.Substring(num + 1); path = this.string_0 + path; if (bool_2) { Directory.Move(ifileName_0.Path, path); } IGxObject obj2 = new GxFolder(); (obj2 as IGxFile).Path = path; obj2.Attach(this, this.igxCatalog_0); return(true); } num = path.LastIndexOf(@"\"); path = path.Substring(num + 1); string str2 = System.IO.Path.GetExtension(ifileName_0.Path).ToLower(); path = this.string_0 + path; if (path.ToLower() == ifileName_0.Path.ToLower()) { MessageBox.Show("无法复制 " + System.IO.Path.GetFileName(path) + " 源文件和目标文件相同!"); return(false); } if (File.Exists(path)) { string str3 = path.Substring(0, path.Length - str2.Length); path = str3 + "复件" + str2; for (int i = 1; File.Exists(path); i++) { path = str3 + "复件" + i.ToString() + str2; } } if (bool_2) { File.Move(ifileName_0.Path, path); } else { File.Copy(ifileName_0.Path, path); } string str4 = System.IO.Path.GetExtension(path).ToLower(); this.method_0(path, str4, true); return(true); }
public void OpenFolder() { try { try { this.string_0 = (this.igxObject_0 as IGxFile).Path; if (this.string_0 == null) { if (this.OnReadCompleted != null) { this.OnReadCompleted(); } return; } string[] directories = Directory.GetDirectories(this.string_0); IArray array = new ArrayClass(); foreach (string str in directories) { IGxObject obj2; IDatasetName name; IWorkspaceName name2; string str2 = this.method_1(str); switch (str2) { case null: break; case "FOLDER": obj2 = new GxFolder(); (obj2 as IGxFile).Path = str; obj2.Attach(this.igxObject_0, this.igxCatalog_0); break; case "TIN": obj2 = new GxDataset(); name = new TinNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.TinWorkspaceFactory", PathName = Path.GetDirectoryName(str) }; name.Name = Path.GetFileName(str); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; array.Add(obj2); break; case "GRID": obj2 = new GxRasterDataset(); name = new RasterDatasetNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.RasterWorkspaceFactory", PathName = Path.GetDirectoryName(str) }; name.Name = Path.GetFileName(str); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; array.Add(obj2); break; default: if (!(str2 == "COVERAGE")) { if (str2 == "FILEGDB") { obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.FileGDBWorkspaceFactory.1", PathName = str }; (obj2 as IGxDatabase).WorkspaceName = name2; array.Add(obj2); } } else { obj2 = new GxCoverageDataset(); name = new CoverageNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ArcInfoWorkspaceFactory.1", PathName = Path.GetDirectoryName(str) }; name.Name = Path.GetFileName(str); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; array.Add(obj2); } break; } } for (int i = 0; i < array.Count; i++) { (array.get_Element(i) as IGxObject).Attach(this.igxObject_0, this.igxCatalog_0); } foreach (string str3 in Directory.GetFiles(this.string_0)) { string str4 = Path.GetExtension(str3).ToLower(); if (str4 != null) { this.method_0(str3, str4, false); } } } catch { } } finally { } if (this.OnReadCompleted != null) { this.OnReadCompleted(); } }
private void method_3(string[] string_1) { foreach (string str in string_1) { IDatasetName name; IWorkspaceName name2; IGxObject unk = null; string str2 = this.method_1(str); switch (str2) { case null: break; case "FOLDER": unk = new GxFolder(); (unk as IGxFile).Path = str; unk.Attach(this.igxObject_0, this.igxCatalog_0); break; case "TIN": unk = new GxDataset(); name = new TinNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.TinWorkspaceFactory", PathName = Path.GetDirectoryName(str) }; name.Name = Path.GetFileName(str); name.WorkspaceName = name2; (unk as IGxDataset).DatasetName = name; this.iarray_0.Add(unk); break; case "GRID": unk = new GxRasterDataset(); name = new RasterDatasetNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.RasterWorkspaceFactory", PathName = Path.GetDirectoryName(str) }; name.Name = Path.GetFileName(str); name.WorkspaceName = name2; (unk as IGxDataset).DatasetName = name; this.iarray_0.Add(unk); break; default: if (!(str2 == "COVERAGE")) { if (str2 == "FILEGDB") { unk = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.FileGDBWorkspaceFactory.1", PathName = str }; (unk as IGxDatabase).WorkspaceName = name2; this.iarray_0.Add(unk); } } else { unk = new GxCoverageDataset(); name = new CoverageNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ArcInfoWorkspaceFactory.1", PathName = Path.GetDirectoryName(str) }; name.Name = Path.GetFileName(str); name.WorkspaceName = name2; (unk as IGxDataset).DatasetName = name; this.iarray_0.Add(unk); } break; } } }
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 { } }
private void method_3() { string[] directories; this.bool_0 = false; try { directories = Directory.GetDirectories(this.string_0); } catch { return; } IArray array = new ArrayClass(); foreach (string str in directories) { IGxObject obj2; IDatasetName name; IWorkspaceName name2; string str2 = this.method_2(str); switch (str2) { case null: break; case "FOLDER": obj2 = new GxFolder(); (obj2 as IGxFile).Path = str; obj2.Attach(this, this.igxCatalog_0); break; case "TIN": obj2 = new GxDataset(); name = new TinNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.TinWorkspaceFactory", PathName = System.IO.Path.GetDirectoryName(str) }; name.Name = System.IO.Path.GetFileName(str); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; array.Add(obj2); break; case "GRID": obj2 = new GxRasterDataset(); name = new RasterDatasetNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.RasterWorkspaceFactory", PathName = System.IO.Path.GetDirectoryName(str) }; name.Name = System.IO.Path.GetFileName(str); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; array.Add(obj2); break; default: if (!(str2 == "COVERAGE")) { if (str2 == "FILEGDB") { obj2 = new GxDatabase(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesGDB.FileGDBWorkspaceFactory.1", PathName = str }; (obj2 as IGxDatabase).WorkspaceName = name2; array.Add(obj2); } } else { obj2 = new GxCoverageDataset(); name = new CoverageNameClass(); name2 = new WorkspaceNameClass { WorkspaceFactoryProgID = "esriDataSourcesFile.ArcInfoWorkspaceFactory.1", PathName = System.IO.Path.GetDirectoryName(str) }; name.Name = System.IO.Path.GetFileName(str); name.WorkspaceName = name2; (obj2 as IGxDataset).DatasetName = name; array.Add(obj2); } break; } } for (int i = 0; i < array.Count; i++) { (array.get_Element(i) as IGxObject).Attach(this, this.igxCatalog_0); } foreach (string str3 in Directory.GetFiles(this.string_0)) { this.method_0(str3, false); } this.bool_1 = true; }