예제 #1
0
 private static IModelGraph AddRelationshipCore(
     [NotNull] IModelRelationship relationship,
     [NotNull] IModelGraph modelGraph,
     [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents)
 {
     itemEvents.Add(new ModelRelationshipAddedEvent(relationship));
     return(modelGraph.AddEdge(relationship));
 }
예제 #2
0
        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)
                );
        }
예제 #3
0
 public IModel AddRelationship(IModelRelationship relationship) => CreateInstance(_graph.AddEdge(relationship));