Пример #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);
        }
Пример #2
0
 private void method_2()
 {
     try
     {
         IEnumDatasetName subsetNames = this.idatasetName_0.SubsetNames;
         subsetNames.Reset();
         IDatasetName name2 = subsetNames.Next();
         IGxObject    obj2  = null;
         while (name2 != null)
         {
             obj2 = null;
             if (this.bool_0)
             {
                 if (AppConfigInfo.UserID == "admin")
                 {
                     obj2 = new GxDataset();
                 }
                 else if (AppConfigInfo.UserID.Length > 0)
                 {
                     if (this.sysGrants_0.GetStaffAndRolesLayerPri(AppConfigInfo.UserID, 1, name2.Name))
                     {
                         obj2 = new GxDataset();
                     }
                 }
                 else
                 {
                     obj2 = new GxDataset();
                 }
             }
             else
             {
                 obj2 = new GxDataset();
             }
             if (obj2 != null)
             {
                 (obj2 as IGxDataset).DatasetName = name2;
                 obj2.Attach(this, this.igxCatalog_0);
             }
             name2 = subsetNames.Next();
         }
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, "错误");
     }
 }
Пример #3
0
 private void method_0(IWorkspace iworkspace_1)
 {
     try
     {
         IEnumDatasetName name = iworkspace_1.get_DatasetNames(esriDatasetType.esriDTAny);
         name.Reset();
         IDatasetName name2 = name.Next();
         IGxObject    obj2  = null;
         while (name2 != null)
         {
             obj2 = null;
             if ((name2.Type == esriDatasetType.esriDTRasterDataset) ||
                 (name2.Type == esriDatasetType.esriDTRasterCatalog))
             {
                 obj2 = new GxRasterDataset();
             }
             else if ((name2.Type == esriDatasetType.esriDTFeatureClass) ||
                      (name2.Type == esriDatasetType.esriDTTable))
             {
                 obj2 = new GxDataset();
             }
             else
             {
                 obj2 = new GxDataset();
             }
             if (obj2 != null)
             {
                 (obj2 as IGxDataset).DatasetName = name2;
                 obj2.Attach(this, this.igxCatalog_0);
             }
             name2 = name.Next();
         }
     }
     catch (Exception exception)
     {
         Logger.Current.Error("", exception, "");
     }
 }
Пример #4
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();
            }
        }
Пример #5
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;
                }
            }
        }
Пример #6
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);
        }
Пример #7
0
 private void method_0(IWorkspace iworkspace_1)
 {
     try
     {
         IEnumDatasetName name = iworkspace_1.get_DatasetNames(esriDatasetType.esriDTAny);
         name.Reset();
         IDatasetName name2 = name.Next();
         IGxObject    obj2  = null;
         while (name2 != null)
         {
             obj2 = null;
             if (this.IsEnterpriseGeodatabase)
             {
                 if ((name2.Type == esriDatasetType.esriDTRasterDataset) ||
                     (name2.Type == esriDatasetType.esriDTRasterCatalog))
                 {
                     obj2 = new GxRasterDataset();
                 }
                 else if ((name2.Type == esriDatasetType.esriDTFeatureClass) ||
                          (name2.Type == esriDatasetType.esriDTTable))
                 {
                     if (AppConfigInfo.UserID.Length > 0)
                     {
                         if (AppConfigInfo.UserID.ToLower() == "admin")
                         {
                             obj2 = new GxDataset();
                         }
                         else if (this.sysGrants_0 != null)
                         {
                             if (this.sysGrants_0.GetStaffAndRolesLayerPri(AppConfigInfo.UserID, 1, name2.Name))
                             {
                                 obj2 = new GxDataset();
                             }
                         }
                         else
                         {
                             obj2 = new GxDataset();
                         }
                     }
                     else
                     {
                         obj2 = new GxDataset();
                     }
                 }
                 else
                 {
                     obj2 = new GxDataset();
                 }
                 if (obj2 != null)
                 {
                     (obj2 as IGxDataset).DatasetName = name2;
                     obj2.Attach(this, this.igxCatalog_0);
                 }
             }
             else
             {
                 if ((name2.Type == esriDatasetType.esriDTRasterDataset) ||
                     (name2.Type == esriDatasetType.esriDTRasterCatalog))
                 {
                     obj2 = new GxRasterDataset();
                 }
                 else if ((name2.Type == esriDatasetType.esriDTFeatureClass) ||
                          (name2.Type == esriDatasetType.esriDTTable))
                 {
                     obj2 = new GxDataset();
                 }
                 else
                 {
                     obj2 = new GxDataset();
                 }
                 if (obj2 != null)
                 {
                     (obj2 as IGxDataset).DatasetName = name2;
                     obj2.Attach(this, this.igxCatalog_0);
                 }
             }
             name2 = name.Next();
         }
     }
     catch (Exception exception)
     {
         Logger.Current.Error("", exception, "");
     }
 }
Пример #8
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
            {
            }
        }
Пример #9
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;
        }
Пример #10
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);
 }