private void PopulateRideEtas(LyftRideEtasResponse rideEtas, GetARyderResponse response) { response.Timezone = rideEtas.Timezone; foreach (var pickupEta in rideEtas.NearbyDriversPickupEtas) { foreach (var ride in response.Rides) { if (!ride.Type.Equals(pickupEta.DisplayName)) { continue; } if (pickupEta.PickupDurationRange == null) { pickupEta.PickupDurationRange = new LyftPickupDurationRange(); } ride.EstimatedEta = ConvertToMinutes(pickupEta.PickupDurationRange.DurationMs / 1000); foreach (var driver in pickupEta.NearbyDrivers) { var newDriver = new GetARyderDriver { Bearing = CalculateBearing(driver.Locations) }; newDriver.Location.Latitude = driver.Locations[0].Latitude; newDriver.Location.Longitude = driver.Locations[0].Longitude; ride.NearbyDrivers.Add(newDriver); } } } }
public void Transform(GetARyderRequest request, LyftRideTypesResponse rideTypes, LyftRideEstimatesResponse rideEstimates, LyftRideEtasResponse rideEtas, GetARyderResponse response) { PopulateRideTypes(rideTypes, response); PopulateRideEstimates(rideEstimates, response); PopulateRideEtas(rideEtas, response); response.DeepAppLink = CreateDeepAppLink("Lyft", request); }
public void SetExpectedLyftRideEtasResponse(LyftRideEtasResponse lyftRideEtasResponse) { ExpectedLyftRideEtasResponse = lyftRideEtasResponse; }