{
// Various editing operations on a network diagram
static 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);
// Overwrite 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 diagram
diagram.Delete();
}
}