Exemple #1
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");
        }
Exemple #2
0
        private void Handle(WeatherChecked message)
        {
            _logger.Information($"Received a TrafficChecked message{message}");
            Message <HeaterStarted> @event;

            if (message.Temperature < 14 &&
                HeaterRunLastHour())
            {
                AsyncHelper.RunSync(() => _volvoClient.StartHeatherAsync());
                _lastHeatherRun = DateTime.Now;
                _logger.Information($"Heater Started");
                @event = new Message <HeaterStarted>(new HeaterStarted(true, message.Temperature));
            }
            else
            {
                _logger.Information($"No need to start heater: temp = {message.Temperature} last heater start {_lastHeatherRun}");
                @event = new Message <HeaterStarted>(new HeaterStarted(false, message.Temperature));
            }
            _logger.Information("Sending HeaterStarted message");
            _rabbitMQClient.SendMessage(_exchangeName, @event);
            _logger.Information("Message send");
        }