private IModelGraph RemoveNodeCore( ModelNodeId nodeId, [NotNull] IModelGraph modelGraph, [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents) { var oldNode = GetNode(nodeId); itemEvents.Add(new ModelNodeRemovedEvent(oldNode)); return(modelGraph.RemoveVertex(nodeId)); }
private (IModelGraph, ImmutableDictionary <object, IModelNode>) RemoveNodeCore( ModelNodeId nodeId, [NotNull] IModelGraph modelGraph, [NotNull] ImmutableDictionary <object, IModelNode> payloadToModelNodeMap, [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents) { var oldNode = GetNode(nodeId); itemEvents.Add(new ModelNodeRemovedEvent(oldNode)); return( modelGraph.RemoveVertex(nodeId), oldNode.Payload == null ? payloadToModelNodeMap : payloadToModelNodeMap.Remove(oldNode.Payload) ); }
public IModel RemoveNode(ModelNodeId nodeId) => CreateInstance(_graph.RemoveVertex(nodeId));