예제 #1
0
        private IModelGraph RemoveRelationshipCore(
            ModelRelationshipId relationshipId,
            [NotNull] IModelGraph modelGraph,
            [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents)
        {
            var oldRelationship = GetRelationship(relationshipId);

            itemEvents.Add(new ModelRelationshipRemovedEvent(oldRelationship));
            return(modelGraph.RemoveEdge(relationshipId));
        }
예제 #2
0
        private (IModelGraph, ImmutableDictionary <object, IModelRelationship>) RemoveRelationshipCore(
            ModelRelationshipId relationshipId,
            [NotNull] IModelGraph modelGraph,
            [NotNull] ImmutableDictionary <object, IModelRelationship> payloadToModelRelationshipMap,
            [NotNull][ItemNotNull] ICollection <ModelItemEventBase> itemEvents)
        {
            var oldRelationship = GetRelationship(relationshipId);

            itemEvents.Add(new ModelRelationshipRemovedEvent(oldRelationship));

            return(
                modelGraph.RemoveEdge(relationshipId),
                oldRelationship.Payload == null
                    ? payloadToModelRelationshipMap
                    : payloadToModelRelationshipMap.Remove(oldRelationship.Payload)
                );
        }
예제 #3
0
 public IModel RemoveRelationship(ModelRelationshipId relationshipId) => CreateInstance(_graph.RemoveEdge(relationshipId));