Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
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
            {
            }
        }
Ejemplo n.º 4
0
 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);
 }