public bool GenerateNameMapping(IEnumName ienumName_0, IName iname_0, out IEnumNameMapping ienumNameMapping_0) { bool flag; ienumNameMapping_0 = null; ienumName_0.Reset(); IName name = ienumName_0.Next(); if (!(name is IDatasetName) || (name as IDatasetName).WorkspaceName.Type != esriWorkspaceType.esriFileSystemWorkspace) { ienumName_0.Reset(); flag = this.igeoDBDataTransfer_0.GenerateNameMapping(ienumName_0, iname_0, out ienumNameMapping_0); } else { MyEnumNameMapping myEnumNameMapping = new MyEnumNameMapping(); ienumNameMapping_0 = myEnumNameMapping; while (name != null) { MyNameMapping myNameMapping = new MyNameMapping() { m_pSource = name }; myNameMapping.ValidateTargetName(iname_0); myEnumNameMapping.Add(myNameMapping); name = ienumName_0.Next(); } flag = true; } return(flag); }
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); }
public bool CanPaste(IEnumName ienumName_0, ref bool bool_2) { ienumName_0.Reset(); IName name = ienumName_0.Next(); bool flag = false; while (name != null) { if (name is IFileName) { flag = true; } else if (name is IDatasetName) { flag = (name as IDatasetName).WorkspaceName.Type == esriWorkspaceType.esriFileSystemWorkspace; } else { if (!(name is IWorkspaceName)) { return(false); } flag = (name as IWorkspaceName).Type == esriWorkspaceType.esriLocalDatabaseWorkspace; } if (!flag) { return(false); } name = ienumName_0.Next(); } bool_2 = true; return(true); }
private void ExportDatasetToXML(string fileGdbPath, string sourceFCName, string outputXmlFile) { // Open the source geodatabase and create a name object for it. IWorkspaceName sourceWorkspaceName = getWorkspaceName("esriDataSourcesGDB.FileGDBWorkspaceFactory", fileGdbPath); IFeatureClassName sourceFeatureClassName = getFeatureClassName(sourceWorkspaceName, sourceFCName); IName sourceName = (IName)sourceFeatureClassName; // Create a new names enumerator and add the feature dataset name. IEnumNameEdit enumNameEdit = new NamesEnumeratorClass(); enumNameEdit.Add(sourceName); IEnumName enumName = (IEnumName)enumNameEdit; // Create a GeoDBDataTransfer object and create a name mapping. IGeoDBDataTransfer geoDBDataTransfer = new GeoDBDataTransferClass(); IEnumNameMapping enumNameMapping = null; geoDBDataTransfer.GenerateNameMapping(enumName, sourceWorkspaceName as IName, out enumNameMapping); // Create an exporter and export the dataset with binary geometry, not compressed, // and including metadata. IGdbXmlExport gdbXmlExport = new GdbExporterClass(); gdbXmlExport.ExportDatasets(enumNameMapping, outputXmlFile, true, false, true); }
private bool method_2(IWorkspace iworkspace_0, IEnumName ienumName_0) { if (iworkspace_0 is IWorkspaceReplicas) { IEnumReplica replicas = (iworkspace_0 as IWorkspaceReplicas).Replicas; replicas.Reset(); if (replicas.Next() != null) { MessageBox.Show("检出数据库中包含一个有效的检出。"); return(false); } ienumName_0.Reset(); for (IDatasetName name = ienumName_0.Next() as IDatasetName; name != null; name = ienumName_0.Next() as IDatasetName) { if (this.method_1(iworkspace_0, name.Type, this.method_0(name).ToLower())) { if (this.chkResueSchema.Checked) { return(true); } MessageBox.Show("选择的检出空间数据库中有同名的要素集,如果要用该检出空间数据库,请在重用选项上打勾。"); return(false); } } } return(true); }
public bool CanPaste(IEnumName ienumName_0, ref bool bool_2) { if (this.Category == "OLE DB连接") { bool_2 = false; return(false); } ienumName_0.Reset(); IName name = ienumName_0.Next(); bool flag2 = false; while (name != null) { if (name is IFeatureClassName) { flag2 = true; if (((name as IDatasetName).WorkspaceName.PathName == this.iworkspaceName_0.PathName) && ((name as IFeatureClassName).FeatureDatasetName != null)) { bool_2 = true; } else { bool_2 = false; } } else if (name is ITableName) { flag2 = (name as IDatasetName).WorkspaceName.Type != esriWorkspaceType.esriFileSystemWorkspace; bool_2 = false; } else { if (!(name is IFeatureDatasetName)) { bool_2 = false; return(false); } if ((name as IDatasetName).WorkspaceName.PathName == this.iworkspaceName_0.PathName) { flag2 = false; } else { bool_2 = false; flag2 = true; } } if (!flag2) { bool_2 = false; return(false); } name = ienumName_0.Next(); } return(true); }
internal static void CopiaFeatureClass(IEnumName enumSourceName, IName targetName) { // Create the transfer object and a reference to a mapping enumerator. IGeoDBDataTransfer geoDBDataTransfer = new GeoDBDataTransfer(); IEnumNameMapping[] enumNameMapping = new IEnumNameMapping[1]; // See if the transfer can proceed with the datasets' existing names. _ = geoDBDataTransfer.GenerateNameMapping(enumSourceName, targetName, out enumNameMapping[0]); geoDBDataTransfer.Transfer(enumNameMapping[0], targetName); }
} // getFCNames public void doWork() { Log.p("doWork started..."); String sdeconnfname = mSdeConnFileName; // "c:\\t\\test.sde"; String tabnames = mTabName; // "T.TAB1,T.TAB2"; Log.p("Open the source gdb"); IWorkspaceFactory wspFact = new SdeWorkspaceFactoryClass(); IWorkspace wsp = wspFact.OpenFromFile(sdeconnfname, 0); Log.p("Get FC names"); IEnumNameEdit edtNames = getFCNames(wsp, tabnames); IEnumName names = (IEnumName)edtNames; Log.p("Create a scratch workspace factory"); IScratchWorkspaceFactory scrWspFact = new ScratchWorkspaceFactoryClass(); IWorkspace scrWsp = scrWspFact.CreateNewScratchWorkspace(); IDataset dset = (IDataset)scrWsp; IName scrWspName = dset.FullName; Log.p("Create a Transfer object and a name mapping"); IGeoDBDataTransfer trans = new GeoDBDataTransferClass(); IEnumNameMapping nameMaps = null; Boolean hasConflicts = trans.GenerateNameMapping( names, scrWspName, out nameMaps); if (hasConflicts) { throw new ArgumentException("Name mapping has conflicts."); } bool expData = mNeedData; string fname = mExpFileName; bool getMeta = mNeedMeta; bool compressed = false; bool binaryGeom = true; IGdbXmlExport exp = new GdbExporterClass(); if (expData == false) { Log.p(String.Format("Export schema (u need sdeexport for data); file [{0}], metadata [{1}]", fname, getMeta)); exp.ExportDatasetsSchema(nameMaps, fname, compressed, getMeta); } else { Log.p(String.Format("Export schema&data; file [{0}], metadata [{1}]", fname, getMeta)); exp.ExportDatasets(nameMaps, fname, binaryGeom, compressed, getMeta); } Log.p("OK, xml writed.", "both"); } // method doWork
/// <summary> /// Converts an Esri enumerable interface to a DotNet IEnumerable. /// </summary> /// <param name="esriEnum">An enumerable Esri interface.</param> /// <returns>The adapted dotnet enumeration.</returns> public static IEnumerable <IName> Enumerate(this IEnumName enumEnum) { if (enumEnum != null) { enumEnum.Reset(); IName datasetName = enumEnum.Next(); while (datasetName != null) { yield return(datasetName); datasetName = enumEnum.Next(); } } }
public void CreatePropertyChildNodes(TreeviewBranchViewModel parentNode, object comObj, Type typ) { IEnumName enumName = comObj as IEnumName; enumName.Reset(); foreach (IName value in enumName.Enumerate()) { if ((value != null) && (value.GetType().IsCOMObject)) { ComObjectViewModel child = new ComObjectViewModel(parentNode, value, typeof(IName), ".Next()"); parentNode.Children.Add(child); } } }
public bool CanPaste(IEnumName ienumName_0, ref bool bool_0) { ienumName_0.Reset(); IName name = ienumName_0.Next(); while (name != null) { if ((name is IFileName) && Directory.Exists((name as IFileName).Path)) { return(true); } } return(false); }
public static void SimpleCheckIn(IWorkspaceName iworkspaceName_0, IWorkspaceName iworkspaceName_1, IEnumName ienumName_0, bool bool_0, bool bool_1, string string_0) { IName name = iworkspaceName_1 as IName; IWorkspace workspace = name.Open() as IWorkspace; IWorkspaceReplicas workspaceReplicas = workspace as IWorkspaceReplicas; IReplica replica = workspaceReplicas.Replicas.Next(); IWorkspace arg_36_0 = (iworkspaceName_0 as IName).Open() as IWorkspace; ICheckIn checkIn = new CheckIn(); if (bool_1) { checkIn.CheckInFromGDB(iworkspaceName_0, replica.Name, iworkspaceName_1, false, false); } }
public bool Paste(IEnumName ienumName_0, ref bool bool_0) { ienumName_0.Reset(); IName name = ienumName_0.Next(); while (name != null) { if ((name is IFileName) && Directory.Exists((name as IFileName).Path)) { IGxObject obj2 = new GxDiskConnection(); (obj2 as IGxFile).Path = (name as IFileName).Path; obj2.Attach(this, this); this.ObjectAdded(obj2); } } return(false); }
public ITable GetMosaicDatasetTable(IMosaicDataset pMosaicDataset) { ITable pTable = null; IEnumName pEnumName = pMosaicDataset.Children; pEnumName.Reset(); ESRI.ArcGIS.esriSystem.IName pName; while ((pName = pEnumName.Next()) != null) { pTable = pName.Open() as ITable; int i = pTable.Fields.FieldCount; if (i >= 21) { break; } }//镶嵌数据集属性表默认23个字段 } return(pTable); }
public static void SimpleCheckOut(IWorkspaceName iworkspaceName_0, IWorkspaceName iworkspaceName_1, IEnumName ienumName_0, bool bool_0, bool bool_1, string string_0) { IName name = iworkspaceName_1 as IName; IWorkspace arg_12_0 = name.Open() as IWorkspace; IWorkspace arg_23_0 = (iworkspaceName_0 as IName).Open() as IWorkspace; IReplicaDescription replicaDescription = new ReplicaDescription() as IReplicaDescription; replicaDescription.Init(ienumName_0, iworkspaceName_1, bool_0, esriDataExtractionType.esriDataCheckOut); replicaDescription.ReplicaModelType = esriReplicaModelType.esriModelTypeFullGeodatabase; ICheckOut checkOut = new CheckOut(); if (bool_1) { checkOut.CheckOutData(replicaDescription, true, string_0); } else { checkOut.CheckOutSchema(replicaDescription, string_0); } }
private void EditWorkspacelist_SelectedIndexChanged(object sender, EventArgs e) { this.CanEditDatasetList.Items.Clear(); if (this.EditWorkspacelist.SelectedItems.Count != 0) { try { CheckInOutWorkspaceInfo tag = this.EditWorkspacelist.SelectedItems[0].Tag as CheckInOutWorkspaceInfo; IEnumName enumName = tag.EnumName; enumName.Reset(); for (IName name2 = enumName.Next(); name2 != null; name2 = enumName.Next()) { this.CanEditDatasetList.Items.Add((name2 as IDatasetName).Name); } } catch (Exception exception) { MessageBox.Show(exception.ToString()); } } }
private bool method_2(IWorkspace iworkspace_0, IEnumName ienumName_0) { if (!(iworkspace_0 is IWorkspaceReplicas)) { goto Label_009D; } IEnumReplica replicas = (iworkspace_0 as IWorkspaceReplicas).Replicas; replicas.Reset(); replicas.Next(); ienumName_0.Reset(); IDatasetName name = ienumName_0.Next() as IDatasetName; Label_003C: if (name != null) { bool flag = false; try { flag = this.method_1(iworkspace_0, name.Type, this.method_0(name).ToLower()); } catch { } while (!flag) { name = ienumName_0.Next() as IDatasetName; goto Label_003C; } if (this.chkResueSchema.Checked) { return(true); } MessageBox.Show("选择的导出空间数据库中有同名的要素集,如果要用该导出空间数据库,请在重用选项上打勾。"); return(false); } Label_009D: return(true); }
public bool Paste(IEnumName ienumName_0, ref bool bool_2) { try { ienumName_0.Reset(); IName name = ienumName_0.Next(); bool flag = false; if (this.igxObjectArray_0.Count == 0) { this.Open(); } while (name != null) { if (name is IFileName) { flag = this.method_10(name as IFileName, bool_2); } else if (name is IDatasetName) { if ((name as IDatasetName).WorkspaceName.Type != esriWorkspaceType.esriRemoteDatabaseWorkspace) { flag = this.method_8(name as IDatasetName, bool_2); } } else if (name is IWorkspaceName) { flag = this.method_9(name as IWorkspaceName, bool_2); } name = ienumName_0.Next(); } return(flag); } catch (Exception exception) { Logger.Current.Error("", exception, ""); return(false); } }
public static string ExportXml(DragEventArgs e) { // Get dropped object if (!e.Data.GetDataPresent("ESRI Names")) { return(null); } object drop = e.Data.GetData("ESRI Names"); // Convert to byte array MemoryStream memoryStream = (MemoryStream)drop; byte[] bytes = memoryStream.ToArray(); object byteArray = (object)bytes; // Get First WorkpaceName INameFactory nameFactory = new NameFactoryClass(); IEnumName enumName = nameFactory.UnpackageNames(ref byteArray); IName name = enumName.Next(); IWorkspaceName workspaceName = name as IWorkspaceName; if (workspaceName != null) { return(GeodatabaseUtility.ExportWorkspaceXml(workspaceName)); } ; MessageBox.Show( Resources.TEXT_DROPPED_OBJECT_NOT_VALID_GEODATABASE, Resources.TEXT_APPLICATION, MessageBoxButtons.OK, MessageBoxIcon.Error, MessageBoxDefaultButton.Button1, MessageBoxOptions.DefaultDesktopOnly); return(null); }
private void axMapControl1_OnOleDrop(object sender, IMapControlEvents2_OnOleDropEvent e) { IDataObjectHelper dataObjectHelper = (IDataObjectHelper)e.dataObjectHelper; esriControlsDropAction dropAction = e.dropAction; e.effect = 0; switch (dropAction) { case esriControlsDropAction.esriDropEnter: if (dataObjectHelper.CanGetFiles() | dataObjectHelper.CanGetNames()) { this.m_Effect = esriControlsDragDropEffect.esriDragDropCopy; } else if (dataObjectHelper.InternalObject is IDataObject) { this.m_Effect = esriControlsDragDropEffect.esriDragDropCopy; } break; case esriControlsDropAction.esriDropOver: e.effect = (int)this.m_Effect; break; } if (dropAction == esriControlsDropAction.esriDropped) { int num; if (dataObjectHelper.CanGetFiles()) { System.Array files = System.Array.CreateInstance(typeof(string), 0, 0); files = (System.Array)dataObjectHelper.GetFiles(); for (num = 0; num <= (files.Length - 1); num++) { if (this.axMapControl1.CheckMxFile(files.GetValue(num).ToString())) { try { this.axMapControl1.LoadMxFile(files.GetValue(num).ToString(), System.Type.Missing, ""); } catch (Exception exception) { MessageBox.Show("Error:" + exception.Message); return; } } else { IFileName name = new FileNameClass { Path = files.GetValue(num).ToString() }; this.CreateLayer((IName)name); } } } else if (dataObjectHelper.CanGetNames()) { IEnumName names = dataObjectHelper.GetNames(); names.Reset(); for (IName name3 = names.Next(); name3 != null; name3 = names.Next()) { this.CreateLayer(name3); } } if (dataObjectHelper.InternalObject is IDataObject) { IList data = (dataObjectHelper.InternalObject as IDataObject).GetData("System.Collections.ArrayList") as IList; for (num = 0; num < data.Count; num++) { IWorkspaceName workspaceName; IWorkspaceName name6; object obj3 = data[num]; if (obj3 is IFeatureDatasetName) { IFeatureDatasetName name4 = new FeatureDatasetNameClass(); workspaceName = (obj3 as IDatasetName).WorkspaceName; name6 = new WorkspaceNameClass { WorkspaceFactoryProgID = workspaceName.WorkspaceFactoryProgID }; if (workspaceName.ConnectionProperties != null) { name6.ConnectionProperties = workspaceName.ConnectionProperties; } else { name6.PathName = workspaceName.PathName; } (name4 as IDatasetName).WorkspaceName = name6; (name4 as IDatasetName).Name = (obj3 as IDatasetName).Name; this.CreateLayer(name4 as IName); } else if (obj3 is IRasterDatasetName) { IRasterDatasetName name7 = new RasterDatasetNameClass(); workspaceName = (obj3 as IDatasetName).WorkspaceName; name6 = new WorkspaceNameClass { WorkspaceFactoryProgID = workspaceName.WorkspaceFactoryProgID }; if (workspaceName.ConnectionProperties != null) { name6.ConnectionProperties = workspaceName.ConnectionProperties; } else { name6.PathName = workspaceName.PathName; } (name7 as IDatasetName).WorkspaceName = name6; (name7 as IDatasetName).Name = (obj3 as IDatasetName).Name; this.CreateLayer(name7 as IName); } else if (obj3 is IDatasetName) { IDatasetName name8 = null; if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTTin) { name8 = new TinNameClass(); } if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTFeatureClass) { name8 = new FeatureClassNameClass(); (name8 as IFeatureClassName).FeatureDatasetName = (obj3 as IFeatureClassName).FeatureDatasetName; } else if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTTopology) { name8 = new TopologyNameClass(); (name8 as ITopologyName).FeatureDatasetName = (obj3 as ITopologyName).FeatureDatasetName; } else if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTRasterBand) { name8 = new RasterBandNameClass(); (name8 as IRasterBandName).RasterDatasetName = (obj3 as IRasterBandName).RasterDatasetName; } else if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTGeometricNetwork) { name8 = new GeometricNetworkNameClass(); (name8 as IGeometricNetworkName).FeatureDatasetName = (obj3 as IGeometricNetworkName).FeatureDatasetName; } else if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTRasterCatalog) { name8 = new RasterCatalogNameClass(); (name8 as IFeatureClassName).FeatureDatasetName = (obj3 as IFeatureClassName).FeatureDatasetName; } else if ((obj3 as IDatasetName).Type == esriDatasetType.esriDTNetworkDataset) { name8 = new NetworkDatasetNameClass(); (name8 as INetworkDatasetName).FeatureDatasetName = (obj3 as INetworkDatasetName).FeatureDatasetName; } if (name8 != null) { if (name8.WorkspaceName == null) { workspaceName = (obj3 as IDatasetName).WorkspaceName; name6 = new WorkspaceNameClass { WorkspaceFactoryProgID = workspaceName.WorkspaceFactoryProgID }; if (workspaceName.ConnectionProperties != null) { name6.ConnectionProperties = workspaceName.ConnectionProperties; } else { name6.PathName = workspaceName.PathName; } name8.WorkspaceName = name6; } name8.Name = (obj3 as IDatasetName).Name; this.CreateLayer(name8 as IName); } } else if (obj3 is IWorkspaceName) { workspaceName = obj3 as IWorkspaceName; name6 = new WorkspaceNameClass { WorkspaceFactoryProgID = workspaceName.WorkspaceFactoryProgID }; if (workspaceName.ConnectionProperties != null) { name6.ConnectionProperties = workspaceName.ConnectionProperties; } else { name6.PathName = workspaceName.PathName; } this.CreateLayer(name6 as IName); } else if (obj3 is IPropertySet) { IPropertySet set = obj3 as IPropertySet; ILayer property = set.GetProperty("Layer") as ILayer; this.axMapControl1.AddLayer(property, 0); } } } } }
public bool Paste(IEnumName ienumName_0, ref bool bool_0) { return(false); }
private void frmCheckInWizard_Load(object sender, EventArgs e) { if (this.iarray_0.Count == 0) { MessageBox.Show("没有检入的数据!"); base.Close(); } else if (this.iarray_0.Count == 1) { CheckInOutWorkspaceInfo info = this.iarray_0.get_Element(0) as CheckInOutWorkspaceInfo; CheckInHelper.m_pHelper = new CheckInHelper(); IWorkspaceName fullName = (info.Workspace as IDataset).FullName as IWorkspaceName; if (fullName.Type == esriWorkspaceType.esriRemoteDatabaseWorkspace) { CheckInHelper.m_pHelper.MasterWorkspaceName = fullName; CheckInHelper.m_pHelper.CheckoutWorkspaceName = null; } else { CheckInHelper.m_pHelper.CheckoutWorkspaceName = fullName; CheckInHelper.m_pHelper.MasterWorkspaceName = null; } IEnumNameEdit edit = new NamesEnumeratorClass(); IEnumName enumName = info.EnumName; enumName.Reset(); IName name = enumName.Next(); IList list = new ArrayList(); IList list2 = new ArrayList(); while (name != null) { string str; if (name is IFeatureClassName) { if ((name as IFeatureClassName).FeatureDatasetName != null) { IDatasetName featureDatasetName = (name as IFeatureClassName).FeatureDatasetName; str = featureDatasetName.Name; if (list.IndexOf(str) == -1) { list.Add(str); edit.Add(featureDatasetName as IName); } } else { str = (name as IDatasetName).Name; if (list2.IndexOf(str) == -1) { list2.Add(str); edit.Add(name); } } } else if (name is IFeatureDatasetName) { str = (name as IDatasetName).Name; if (list.IndexOf(str) == -1) { list.Add(str); edit.Add(name); } } else { str = (name as IDatasetName).Name; if (list2.IndexOf(str) == -1) { list2.Add(str); edit.Add(name); } } name = enumName.Next(); } this.checkInSetupCtrl_0.Visible = true; this.btnNext.Text = "完成"; } else { CheckInHelper.m_pHelper = new CheckInHelper(); this.selectCheckOutWorkspaceCtrl_0.WorkspaceArray = this.iarray_0; this.selectCheckOutWorkspaceCtrl_0.Visible = true; } }
public bool CanPaste(IEnumName ienumName_0, ref bool bool_2) { if (this.idatasetName_0.Type == esriDatasetType.esriDTFeatureDataset) { ienumName_0.Reset(); IName name = ienumName_0.Next(); bool flag = false; while (name != null) { if (name is IFileName) { return(false); } if (name is IFeatureClassName) { if ( flag = (name as IDatasetName).WorkspaceName.Type != esriWorkspaceType.esriFileSystemWorkspace) { if ((name as IDatasetName).WorkspaceName.PathName == this.idatasetName_0.WorkspaceName.PathName) { bool_2 = true; } else { bool_2 = false; } } } else if (name is IFeatureDatasetName) { flag = true; if ((name as IDatasetName).WorkspaceName.PathName == this.idatasetName_0.WorkspaceName.PathName) { if ((name as IDatasetName).Name == this.idatasetName_0.Name) { flag = false; } else { bool_2 = true; } } else { bool_2 = false; } } else { if (name is IWorkspaceName) { return(false); } if (name is ITableName) { return(false); } } if (!flag) { return(false); } name = ienumName_0.Next(); } return(true); } bool_2 = false; return(false); }
private void frmExtractionDataWizard_Load(object sender, EventArgs e) { if (this.iarray_0.Count == 0) { MessageBox.Show("没有可用于提取的数据!"); base.Close(); } else if (this.iarray_0.Count == 1) { CheckInOutWorkspaceInfo info = this.iarray_0.get_Element(0) as CheckInOutWorkspaceInfo; ExtractionDataHelper.m_pHelper = new ExtractionDataHelper(); ExtractionDataHelper.m_pHelper.MasterWorkspaceName = (info.Workspace as IDataset).FullName as IWorkspaceName; IEnumNameEdit edit = new NamesEnumeratorClass(); IEnumName enumName = info.EnumName; enumName.Reset(); IName name = enumName.Next(); IList list = new ArrayList(); IList list2 = new ArrayList(); while (name != null) { string str; if (name is IFeatureClassName) { if ((name as IFeatureClassName).FeatureDatasetName != null) { IDatasetName featureDatasetName = (name as IFeatureClassName).FeatureDatasetName; str = featureDatasetName.Name; if (list.IndexOf(str) == -1) { list.Add(str); edit.Add(featureDatasetName as IName); } } else { str = (name as IDatasetName).Name; if (list2.IndexOf(str) == -1) { list2.Add(str); edit.Add(name); } } } else if (name is IFeatureDatasetName) { str = (name as IDatasetName).Name; if (list.IndexOf(str) == -1) { list.Add(str); edit.Add(name); } } else { str = (name as IDatasetName).Name; if (list2.IndexOf(str) == -1) { list2.Add(str); edit.Add(name); } } name = enumName.Next(); } ExtractionDataHelper.m_pHelper.EnumName = edit as IEnumName; this.extractionDataSetupCtrl_0.Visible = true; } else { ExtractionDataHelper.m_pHelper = new ExtractionDataHelper(); this.selectCheckOutWorkspaceCtrl_0.WorkspaceArray = this.iarray_0; this.selectCheckOutWorkspaceCtrl_0.Visible = true; } }
public bool CanPaste(IEnumName ienumName_0, ref bool bool_1) { return(false); }
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); }