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