void ITripPublisher.notifyNewTrip(Trip newTrip)
        {
            var jsonTrip = Newtonsoft.Json.JsonConvert.SerializeObject(newTrip);
            var message = Encoding.UTF8.GetBytes(jsonTrip);

            var properties = this.channel.CreateBasicProperties();

            this.channel.BasicPublish(
                exchange:  "",
                routingKey:  "unhandled_trips_queue",
                basicProperties: properties,
                body: message);
        }
        private void notify(Driver driver, Trip trip)
        {
            var notification = new Notification() {
                Data = trip,
                Event = string.Format("newTrip_{0}", driver.Id),
                GroupName = "drivers"
            };

            var notificationsClient = new RestClient("http://localhost:5003");
            var request = new RestRequest("api/notifications", Method.POST);
            request.AddJsonBody(notification);

            notificationsClient.Execute(request);
        }
        public Trip CreateTrip(string origin, string destination, User user)
        {
            var newTrip = new Trip() {
                Id = Guid.NewGuid(),
                Origin = origin,
                Destination = destination,
                UserId = user.Id,
                Username = user.Name,
                CreatedAt = DateTime.Now
            };
            trips.Add(newTrip);

            return newTrip;
        }