private void Handle(TrafficChecked body) { string state = "no need to rush"; if (body.CurrentTravelTime > body.DefaultTravelTime + 5) { state = "you should leave now"; } var message = $"Current traveltime: {body.CurrentTravelTime} minutes, {state}"; AsyncHelper.RunSync(() => _notifier.PostMessageAsync(message)); }
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(TrafficChecked message) { _logger.Information($"Current traveltime = {message.CurrentTravelTime}"); var color = _hueController.GetTrafficColor(message.CurrentTravelTime, message.DefaultTravelTime); var changedLight = AsyncHelper.RunSync(() => _hueController.SetLampColorAsync(color)); }