public void OrderRide(RideRequest rideRequest)
        {
            if (rideRequest == null)
            {
                throw new ArgumentNullException(nameof(rideRequest));
            }

            _logger.Log($"Ordering ride from {rideRequest.FromLocation} to {rideRequest.ToLocation}...");

            var closestVechicle = _taxiRepository.VechicleClosestTo(rideRequest.FromLocation, AcceptableDistance);
            var ride            = new Ride(rideRequest, closestVechicle);

            _logger.Log($"Ride ordered, price: {ride.Price}");

            AcceptRide(ride);
        }
 public Ride(RideRequest rideRequest, Taxi taxi)
 {
     RideRequest = rideRequest ?? throw new ArgumentNullException(nameof(rideRequest));
     Taxi        = taxi ?? throw new ArgumentNullException(nameof(taxi));
 }