Dictionary <string, bool> GetFeatureClassExistsMap(ProSymbolUtilities.SupportedStandardsType standard, Geodatabase gdb = null) { EGDBPrefixName = string.Empty; _egdbConnectionString = string.Empty; if (gdb != null) { GeodatabaseType gdbType = gdb.GetGeodatabaseType(); if (gdbType == GeodatabaseType.RemoteDatabase) { // if an SDE/EGDB, then feature class name format will differ: // Database + User + Feature Class Name DatabaseConnectionProperties dbcps = gdb.GetConnector() as DatabaseConnectionProperties; if (dbcps != null) { EGDBPrefixName = dbcps.Database + "." + dbcps.User + "."; // Also save this connection string to identify this EGDB later _egdbConnectionString = ((Datastore)gdb).GetConnectionString(); } } } Dictionary <string, bool> featureClassExists = new Dictionary <string, bool>(); List <SymbolSetMapping> symbolSetMapping = null; switch (standard) { case ProSymbolUtilities.SupportedStandardsType.app6b: symbolSetMapping = _symbolSetMappingAPP6B; break; case ProSymbolUtilities.SupportedStandardsType.app6d: symbolSetMapping = _symbolSetMappingAPP6D; break; case ProSymbolUtilities.SupportedStandardsType.mil2525b: symbolSetMapping = _symbolSetMapping2525B; break; case ProSymbolUtilities.SupportedStandardsType.mil2525c: symbolSetMapping = _symbolSetMapping2525C; break; default: symbolSetMapping = _symbolSetMapping2525D; break; } foreach (SymbolSetMapping mapping in symbolSetMapping) { string featureClassName = EGDBPrefixName + mapping.FeatureClassName; if (!featureClassExists.ContainsKey(featureClassName)) { featureClassExists.Add(featureClassName, false); } } return(featureClassExists); }
/// <summary> /// Set Global fields /// </summary> /// <param name="map">Diagram Layer</param> internal static void GetParameters(Map map) { if (map == null) { CleanModule(); return; } if (GlobalActiveMapName != map.Name || GlobalDiagram == null || GlobalDiagramLayer == null) { GlobalActiveMap = map; GlobalActiveMapName = GlobalActiveMap.Name; GlobalDiagramLayer = GetDiagramLayerFromMap(map); if (GlobalDiagramLayer == null) { CleanModule(); } else { QueuedTask.Run(() => { try { GlobalDiagram = GlobalDiagramLayer.GetNetworkDiagram(); } catch { GlobalDiagram = null; } try { if (GlobalDiagram != null) { GlobalDiagramManager = GlobalDiagram.DiagramManager; GlobalUtilityNetwork = GlobalDiagramManager.GetNetwork <UtilityNetwork>(); GlobalGeodatabase = GlobalUtilityNetwork.GetDatastore() as Geodatabase; NetworkDiagramInfo networkDiagramInfo = GlobalDiagram.GetDiagramInfo(); if (networkDiagramInfo == null) { GlobalIsSystem = false; GlobalEnvelope = null; GlobalIsStored = false; GlobalContainerMargin = 0.5; } else { GlobalIsSystem = networkDiagramInfo.IsSystem; GlobalEnvelope = networkDiagramInfo.DiagramExtent; GlobalIsStored = networkDiagramInfo.IsStored; GlobalContainerMargin = networkDiagramInfo.ContainerMargin; } GlobalTypeGeo = GlobalGeodatabase.GetGeodatabaseType(); if (GlobalTypeGeo == GeodatabaseType.Service) { VersionManager vm = GlobalGeodatabase.GetVersionManager(); if (vm != null) { GlobalIsVersioned = (vm.GetCurrentVersion() != null); } else { GlobalIsVersioned = false; } } else { GlobalIsVersioned = false; } } else { GlobalDiagramLayer = null; } CleanSelections(); } catch (Exception ex) { ShowException(exception: ex); CleanModule(); } }); } } }
Dictionary <string, bool> GetFeatureClassExistsMap(ProSymbolUtilities.SupportedStandardsType standard, Geodatabase gdb = null) { string prefixName = string.Empty; _egdbConnectionString = string.Empty; if (gdb != null) { GeodatabaseType gdbType = gdb.GetGeodatabaseType(); if (gdbType == GeodatabaseType.RemoteDatabase) { // if an SDE/EGDB, then feature class name format will differ: // Database + User + Feature Class Name DatabaseConnectionProperties dbcps = gdb.GetConnector() as DatabaseConnectionProperties; if (dbcps != null) { prefixName = dbcps.Database + "." + dbcps.User + "."; // Also save this connection string to identify this EGDB later _egdbConnectionString = ((Datastore)gdb).GetConnectionString(); } } } Dictionary <string, bool> featureClassExists = new Dictionary <string, bool>(); if (standard == ProSymbolUtilities.SupportedStandardsType.mil2525c_b2) { // 2525c_b2 featureClassExists.Add(prefixName + "Activities", false); featureClassExists.Add(prefixName + "Air", false); featureClassExists.Add(prefixName + "ControlMeasuresAreas", false); featureClassExists.Add(prefixName + "ControlMeasuresLines", false); featureClassExists.Add(prefixName + "ControlMeasuresPoints", false); featureClassExists.Add(prefixName + "Installations", false); featureClassExists.Add(prefixName + "LandEquipment", false); featureClassExists.Add(prefixName + "METOCAreas", false); featureClassExists.Add(prefixName + "METOCLines", false); featureClassExists.Add(prefixName + "METOCPoints", false); featureClassExists.Add(prefixName + "SeaSubsurface", false); featureClassExists.Add(prefixName + "SeaSurface", false); featureClassExists.Add(prefixName + "SIGINT", false); featureClassExists.Add(prefixName + "Space", false); featureClassExists.Add(prefixName + "Units", false); } else { // 2525d featureClassExists.Add(prefixName + "Activities", false); featureClassExists.Add(prefixName + "Air", false); featureClassExists.Add(prefixName + "AirMissile", false); featureClassExists.Add(prefixName + "Civilian", false); featureClassExists.Add(prefixName + "ControlMeasuresAreas", false); featureClassExists.Add(prefixName + "ControlMeasuresLines", false); featureClassExists.Add(prefixName + "ControlMeasuresPoints", false); featureClassExists.Add(prefixName + "Cyberspace", false); featureClassExists.Add(prefixName + "Installations", false); featureClassExists.Add(prefixName + "LandEquipment", false); featureClassExists.Add(prefixName + "METOCAreasAtmospheric", false); featureClassExists.Add(prefixName + "METOCAreasOceanographic", false); featureClassExists.Add(prefixName + "METOCLinesAtmospheric", false); featureClassExists.Add(prefixName + "METOCLinesOceanographic", false); featureClassExists.Add(prefixName + "METOCPointsAtmospheric", false); featureClassExists.Add(prefixName + "METOCPointsOceanographic", false); featureClassExists.Add(prefixName + "MineWarfare", false); featureClassExists.Add(prefixName + "SeaSubsurface", false); featureClassExists.Add(prefixName + "SeaSurface", false); featureClassExists.Add(prefixName + "SIGINT", false); featureClassExists.Add(prefixName + "Space", false); featureClassExists.Add(prefixName + "SpaceMissile", false); featureClassExists.Add(prefixName + "Units", false); } return(featureClassExists); }