private static IModelGraph AddNodeCore( [NotNull] IModelNode newNode, [NotNull] IModelGraph modelGraph, [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents) { itemEvents.Add(new ModelNodeAddedEvent(newNode)); return(modelGraph.AddVertex(newNode)); }
private static (IModelGraph, ImmutableDictionary <object, IModelNode>) AddNodeCore( [NotNull] IModelNode newNode, [NotNull] IModelGraph modelGraph, [NotNull] ImmutableDictionary <object, IModelNode> payloadToModelNodeMap, [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents) { itemEvents.Add(new ModelNodeAddedEvent(newNode)); return( modelGraph.AddVertex(newNode), newNode.Payload == null ? payloadToModelNodeMap : payloadToModelNodeMap.Add(newNode.Payload, newNode) ); }
public IModel AddNode(IModelNode node) => CreateInstance(_graph.AddVertex(node));