private async Task RetrieveCurrentPosition() { Position position = await _volvoClient.RetrieveCurrentPositionAsync(); _logger.Information("Sending CarLocated message"); var trafficChecked = new CarLocated(position.Longitude, position.Latitude); var @event = new Message <CarLocated>(trafficChecked); _rabbitMQClient.SendMessage(_exchangeName, @event); _logger.Information("Message send"); }
private async Task CheckWeather(CarLocated message) { _logger.Information($"received a WeatherChecked message{message}"); JObject weatherCheckedJson = await _googleController.GetCurrentWeather(message.Latitude, message.Longitude); _logger.Information("Sending WeatherChecked message"); var weatherChecked = new WeatherChecked((double)weatherCheckedJson["main"][0]["temp"]); var @event = new Message <WeatherChecked>(weatherChecked); _rabbitMQClient.SendMessage(_exchangeName, @event); _logger.Information("Message send"); }
private async Task CheckTraffic(CarLocated message) { _logger.Information($"received a CheckTraffic message{message}"); JObject trafficCheckedjson = await _googleController.GetCurrentTravelTime(message.Latitude, message.Longitude); _logger.Information("Sending TrafficChecked message"); var currentTrafficTime = (int)trafficCheckedjson["routes"][0]["legs"][0]["duration_in_traffic"]["value"]; var defaultTrafficTime = (int)trafficCheckedjson["routes"][0]["legs"][0]["duration"]["value"]; var trafficChecked = new TrafficChecked(currentTrafficTime, defaultTrafficTime); var @event = new Message <TrafficChecked>(trafficChecked); _rabbitMQClient.SendMessage(_exchangeName, @event); _logger.Information("Message send"); }
private void Handle(CarLocated message) { CheckTraffic(message); CheckWeather(message); }