Ejemplo n.º 1
0
        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));
        }
Ejemplo n.º 2
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.º 3
0
 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));
 }