async public Task <IExplorerObject> CreateExplorerObject(IExplorerObject parentExObject) { SQLiteFDBDatasetExplorerObject parent = (SQLiteFDBDatasetExplorerObject)parentExObject; IFeatureDataset dataset = await parent.GetInstanceAsync() as IFeatureDataset; if (dataset == null) { return(null); } AccessFDB fdb = dataset.Database as AccessFDB; if (fdb == null) { return(null); } List <ExplorerDialogFilter> filters = new List <ExplorerDialogFilter>(); filters.Add(new OpenFeatureclassFilter()); ExplorerDialog dlg = new ExplorerDialog("Select Featureclass", filters, true); IExplorerObject ret = null; if (dlg.ShowDialog() == DialogResult.OK && dlg.ExplorerObjects != null) { foreach (IExplorerObject exObj in dlg.ExplorerObjects) { var exObjectInstance = await exObj?.GetInstanceAsync(); if (exObjectInstance is IFeatureClass) { int fcid = await fdb.CreateLinkedFeatureClass(dataset.DatasetName, (IFeatureClass)exObjectInstance); if (ret == null) { IDatasetElement element = await dataset.Element(((IFeatureClass)exObjectInstance).Name); if (element != null) { ret = new SQLiteFDBFeatureClassExplorerObject( parent, parent.FileName, parent.Name, element); } } } } } return(ret); }
public IExplorerObject CreateExplorerObject(IExplorerObject parentExObject) { SqlFDBDatasetExplorerObject parent = (SqlFDBDatasetExplorerObject)parentExObject; IFeatureDataset dataset = parent.Object as IFeatureDataset; if (dataset == null) { return(null); } AccessFDB fdb = dataset.Database as AccessFDB; if (fdb == null) { return(null); } List <ExplorerDialogFilter> filters = new List <ExplorerDialogFilter>(); filters.Add(new OpenFeatureclassFilter()); ExplorerDialog dlg = new ExplorerDialog("Select Featureclass", filters, true); IExplorerObject ret = null; if (dlg.ShowDialog() == DialogResult.OK && dlg.ExplorerObjects != null) { foreach (IExplorerObject exObj in dlg.ExplorerObjects) { if (exObj.Object is IFeatureClass) { int fcid = fdb.CreateLinkedFeatureClass(dataset.DatasetName, (IFeatureClass)exObj.Object); if (ret == null) { IDatasetElement element = dataset[((IFeatureClass)exObj.Object).Name]; if (element != null) { ret = new AccessFDBFeatureClassExplorerObject( parentExObject as AccessFDBDatasetExplorerObject, ((AccessFDBDatasetExplorerObject)parentExObject).FileName, parentExObject.Name, element); } } } } } return(ret); }