private static IModelGraph AddRelationshipCore( [NotNull] IModelRelationship relationship, [NotNull] IModelGraph modelGraph, [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents) { itemEvents.Add(new ModelRelationshipAddedEvent(relationship)); return(modelGraph.AddEdge(relationship)); }
private static (IModelGraph, ImmutableDictionary <object, IModelRelationship> payloadToModelRelationshipMap) AddRelationshipCore( [NotNull] IModelRelationship relationship, [NotNull] IModelGraph modelGraph, [NotNull] ImmutableDictionary <object, IModelRelationship> payloadToModelRelationshipMap, [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents) { itemEvents.Add(new ModelRelationshipAddedEvent(relationship)); return( modelGraph.AddEdge(relationship), relationship.Payload == null ? payloadToModelRelationshipMap : payloadToModelRelationshipMap.Add(relationship.Payload, relationship) ); }
public IModel AddRelationship(IModelRelationship relationship) => CreateInstance(_graph.AddEdge(relationship));