예제 #1
0
 private static IModelGraph AddNodeCore(
     [NotNull] IModelNode newNode,
     [NotNull] IModelGraph modelGraph,
     [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents)
 {
     itemEvents.Add(new ModelNodeAddedEvent(newNode));
     return(modelGraph.AddVertex(newNode));
 }
예제 #2
0
        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)
                );
        }
예제 #3
0
 public IModel AddNode(IModelNode node) => CreateInstance(_graph.AddVertex(node));