public RequestedChanges Append(AddGradeSeparatedJunction change) { if (change == null) { throw new ArgumentNullException(nameof(change)); } return(new RequestedChanges( _changes.Add(change), _mapToPermanentNodeIdentifiers, _mapToTemporaryNodeIdentifiers, _mapToPermanentSegmentIdentifiers, _mapToTemporarySegmentIdentifiers, _mapToPermanentGradeSeparatedJunctionIdentifiers.Add(change.TemporaryId, change.Id), _mapToTemporaryGradeSeparatedJunctionIdentifiers.Add(change.Id, change.TemporaryId))); }
private RoadNetworkView With(AddGradeSeparatedJunction command) { var id = new GradeSeparatedJunctionId(command.Id); return(new RoadNetworkView( _nodes, _segments, _maximumNodeId, _maximumSegmentId, GradeSeparatedJunctionId.Max(id, _maximumGradeSeparatedJunctionId), _maximumEuropeanRoadAttributeId, _maximumNationalRoadAttributeId, _maximumNumberedRoadAttributeId, _maximumLaneAttributeId, _maximumWidthAttributeId, _maximumSurfaceAttributeId, _segmentReusableLaneAttributeIdentifiers, _segmentReusableWidthAttributeIdentifiers, _segmentReusableSurfaceAttributeIdentifiers)); }