Beispiel #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);
        }
Beispiel #2
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);
 }