async public void Content_DragDrop(System.Windows.Forms.DragEventArgs e) { if (e.Data.GetDataPresent(DataFormats.FileDrop)) { } else { foreach (string format in e.Data.GetFormats()) { object ob = e.Data.GetData(format); if (ob is IEnumerable <IExplorerObjectSerialization> ) { ExplorerObjectManager exObjectManager = new ExplorerObjectManager(); List <IExplorerObject> exObjects = await exObjectManager.DeserializeExplorerObject((IEnumerable <IExplorerObjectSerialization>) ob); if (exObjects == null) { return; } _dataset = await((IExplorerObject)this).GetInstanceAsync() as IFeatureDataset; foreach (IExplorerObject exObject in ListOperations <IExplorerObject> .Clone(exObjects)) { IFeatureClass fc = await exObject.GetInstanceAsync() as IFeatureClass; if (fc == null) { continue; } if (fc.Dataset != null && fc.Dataset.ConnectionString.ToLower() == _dataset.ConnectionString.ToLower()) { exObjects.Remove(exObject); } } if (exObjects.Count == 0) { return; } FormFeatureclassCopy dlg = await FormFeatureclassCopy.Create(exObjects, _dataset); if (dlg.ShowDialog() != DialogResult.OK) { continue; } foreach (FeatureClassListViewItem fcItem in dlg.FeatureClassItems) { await ImportDatasetObject(fcItem); } exObjectManager.Dispose(); // alle ExplorerObjects wieder löschen... } } } await this.Refresh(); }
public void Content_DragDrop(DragEventArgs e, IUserData userdata) { if (_fdb == null) { return; } bool schemaOnly = false; if (userdata != null && userdata.GetUserData("gView.Framework.UI.BaseTools.PasteSchema") != null && userdata.GetUserData("gView.Framework.UI.BaseTools.PasteSchema").Equals(true)) { schemaOnly = true; } if (e.Data.GetDataPresent(DataFormats.FileDrop)) { } else { foreach (string format in e.Data.GetFormats()) { object ob = e.Data.GetData(format); if (ob is IEnumerable <IExplorerObjectSerialization> ) { ExplorerObjectManager exObjectManager = new ExplorerObjectManager(); List <IExplorerObject> exObjects = new List <IExplorerObject>(exObjectManager.DeserializeExplorerObject((IEnumerable <IExplorerObjectSerialization>)ob)); if (exObjects == null) { return; } foreach (IExplorerObject exObject in ListOperations <IExplorerObject> .Clone(exObjects)) { IFeatureClass fc = exObject.Object as IFeatureClass; if (fc == null) { continue; } if (fc.Dataset != null && fc.Dataset.DatasetName == _dsname && _fdb != null && fc.Dataset.Database is AccessFDB && ((AccessFDB)fc.Dataset.Database)._conn.ConnectionString.ToLower() == _fdb._conn.ConnectionString.ToLower()) { exObjects.Remove(exObject); } } if (exObjects.Count == 0) { return; } FormFeatureclassCopy dlg = new FormFeatureclassCopy(exObjects, _dataset); dlg.SchemaOnly = schemaOnly; if (dlg.ShowDialog() != DialogResult.OK) { continue; } foreach (FeatureClassListViewItem fcItem in dlg.FeatureClassItems) { ImportDatasetObject(fcItem, schemaOnly); } /* * foreach (IExplorerObject exObject in exObjects) * { * ImportDatasetObject(exObject.Object); * } * */ exObjectManager.Dispose(); // alle ExplorerObjects wieder löschen... } } } //_dataset.RefreshClasses(); this.Refresh(); }
public void Content_DragDrop(DragEventArgs e, IUserData userdata) { PlugInManager compMan = new PlugInManager(); List <IFileFeatureDatabase> databases = new List <IFileFeatureDatabase>(); foreach (XmlNode dbNode in compMan.GetPluginNodes(Plugins.Type.IFileFeatureDatabase)) { IFileFeatureDatabase db = compMan.CreateInstance(dbNode) as IFileFeatureDatabase; if (db == null) { continue; } databases.Add(db); } if (databases.Count == 0) { return; } bool schemaOnly = false; if (userdata != null && userdata.GetUserData("gView.Framework.UI.BaseTools.PasteSchema") != null && userdata.GetUserData("gView.Framework.UI.BaseTools.PasteSchema").Equals(true)) { schemaOnly = true; } foreach (string format in e.Data.GetFormats()) { object ob = e.Data.GetData(format); if (ob is IEnumerable <IExplorerObjectSerialization> ) { ExplorerObjectManager exObjectManager = new ExplorerObjectManager(); List <IExplorerObject> exObjects = new List <IExplorerObject>(exObjectManager.DeserializeExplorerObject((IEnumerable <IExplorerObjectSerialization>)ob)); if (exObjects == null) { return; } foreach (IExplorerObject exObject in ListOperations <IExplorerObject> .Clone(exObjects)) { IFeatureClass fc = exObject.Object as IFeatureClass; if (fc == null) { continue; } } if (exObjects.Count == 0) { return; } FormFeatureclassCopy dlg = new FormFeatureclassCopy(exObjects, databases, this.FullName); dlg.SchemaOnly = schemaOnly; if (dlg.ShowDialog() != DialogResult.OK) { continue; } if (dlg.SelectedFeatureDatabase == null) { return; } IFileFeatureDatabase fileDB = dlg.SelectedFeatureDatabase; _dataset = fileDB[this.FullName]; if (_dataset == null) { return; } //_dataset = new ImportFeatureDataset(dlg.SelectedFeatureDatabase); foreach (FeatureClassListViewItem fcItem in dlg.FeatureClassItems) { ImportDatasetObject(fcItem, schemaOnly); } exObjectManager.Dispose(); // alle ExplorerObjects wieder löschen... } } }