Ejemplo n.º 1
0
        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");
        }
Ejemplo n.º 2
0
        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");
        }
Ejemplo n.º 3
0
        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");
        }
Ejemplo n.º 4
0
 private void Handle(CarLocated message)
 {
     CheckTraffic(message);
     CheckWeather(message);
 }