예제 #1
0
        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);
        }
예제 #2
0
        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();
            }
        }
예제 #3
0
        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;
                }
            }
        }
예제 #4
0
        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
            {
            }
        }
예제 #5
0
        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;
        }