private void HandleEvent(RouteSegmentAdded request, ITransaction transaction) { _logger.LogDebug($"Handler got {request.GetType().Name} event seq no: {request.EventSequenceNumber}"); if (AlreadyProcessed(request.EventId)) { return; } if (!(_networkState.GetObject(request.FromNodeId) is RouteNode fromNode)) { _logger.LogError($"Route network event stream seems to be broken! RouteSegmentAdded event with id: {request.EventId} and segment id: {request.SegmentId} has a FromNodeId: {request.FromNodeId} that don't exists in the current state."); return; } if (!(_networkState.GetObject(request.ToNodeId) is RouteNode toNode)) { _logger.LogError($"Route network event stream seems to be broken! RouteSegmentAdded event with id: {request.EventId} and segment id: {request.SegmentId} has a ToNodeId: {request.ToNodeId} that don't exists in the current state."); return; } var envelope = GeoJsonConversionHelper.ConvertFromLineGeoJson(request.Geometry).Envelope.EnvelopeInternal; transaction.Add(new RouteSegment(request.SegmentId, fromNode, toNode, envelope), ignoreDublicates: true); }
private void HandleEvent(RouteNodeAdded request, ITransaction transaction) { _logger.LogDebug($"Handler got {request.GetType().Name} event seq no: {request.EventSequenceNumber}"); if (AlreadyProcessed(request.EventId)) { return; } var envelope = GeoJsonConversionHelper.ConvertFromPointGeoJson(request.Geometry).Envelope.EnvelopeInternal; transaction.Add(new RouteNode(request.NodeId, request.RouteNodeInfo?.Function, envelope, request.NamingInfo?.Name), ignoreDublicates: true); }