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 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"); }