Represents information about a
NetworkDiagram.
Get a list of Network Diagrams with inconsistent ConsistencyState
public List<NetworkDiagram> GetInconsistentDiagrams(UtilityNetwork utilityNetwork)
{
// Get the DiagramManager from the utility network
using (DiagramManager diagramManager = utilityNetwork.GetDiagramManager())
{
List<NetworkDiagram> myList = new List<NetworkDiagram>();
// Loop through the network diagrams in the diagram manager
foreach (NetworkDiagram diagram in diagramManager.GetNetworkDiagrams())
{
NetworkDiagramInfo diagramInfo = diagram.GetDiagramInfo();
// If the diagram is not a system diagram and is in an inconsistent state, add it to our list
if (!diagramInfo.IsSystem && diagram.GetConsistencyState() != NetworkDiagramConsistencyState.DiagramIsConsistent)
{
myList.Add(diagram);
}
else
{
diagram.Dispose(); // If we are not returning it we need to Dispose it
}
}
return myList;
}
}
Editing Network Diagram
public void EditDiagram(NetworkDiagram diagram, List<Guid> globalIDs)
{
// These routines generate their own editing transaction, and therefore cannot be wrapped
// in a separate transaction. Because the editing performed by these routines cannot
// be undone, thise routines can also not be called within an editing session. All
// edits in the current edit session must be saved or discarded before calling these
// routines.
// refresh the diagram - synchronizes it based on the latest network topology
diagram.Update();
// append features to the diagram
diagram.Append(globalIDs);
// overite the diagram with a set of features
diagram.Overwrite(globalIDs);
NetworkDiagramInfo info = diagram.GetDiagramInfo();
if (info.CanExtend)
{
diagram.Extend(NetworkDiagramExtendType.ExtendByContainment);
// or extend for only a set of utility network globalIDs
diagram.Extend(NetworkDiagramExtendType.ExtendByContainment, globalIDs);
}
// delete a diagran
diagram.Delete();
}
System.Object
ArcGIS.Core.Data.NetworkDiagrams.NetworkDiagramInfo
Target Platforms: Windows 11, Windows 10
ArcGIS Pro version: 3 or higher.