public override Gateway.QuoteTripResponse QuoteTrip(Gateway.QuoteTripRequest request) { Logger.BeginRequest("QuoteTrip received from " + tripthru.name, request); Gateway.QuoteTripResponse response = null; { // TDispatch requires that we supply the string address and postal code in addition to the Lng/Lat coordinates Pair <string, string> pickup_address = MapTools.GetReverseGeoLocAddress(request.pickupLocation); Pair <string, string> dropoff_address = MapTools.GetReverseGeoLocAddress(request.dropoffLocation); TDispatchAPI.GetFareRequest createRequest = new TDispatchAPI.GetFareRequest { payment_method = "cash", pickup_location = new TDispatchAPI.Location { lat = request.pickupLocation.Lat, lng = request.pickupLocation.Lng }, pickup_time = request.pickupTime.ToString("yyyy-MM-dd'T'HH:mm:ssK", DateTimeFormatInfo.InvariantInfo), dropoff_location = new TDispatchAPI.Location { lat = request.dropoffLocation.Lat, lng = request.dropoffLocation.Lng } }; // TODO: replace with POST /locations/fare TDispatchAPI.GetFareResponse createResponse = api.GetFare(createRequest); List <Quote> quotes = new List <Quote>(); var price = 0.0; try { price = double.Parse(createResponse.fare.formatted_total_cost.Replace("$", "")); } catch (Exception e) { } quotes.Add(new Quote(partnerID: ID, partnerName: name, fleetID: ID, fleetName: name, price: price, ETA: DateTime.UtcNow + new TimeSpan(1, 0, createResponse.fare.time_to_wait))); response = new Gateway.QuoteTripResponse(quotes, Result.OK); } Logger.EndRequest(response); return(response); }
public override Gateway.QuoteTripResponse QuoteTrip(Gateway.QuoteTripRequest request) { Logger.BeginRequest("QuoteTrip received from " + tripthru.name, request); Gateway.QuoteTripResponse response = null; { // TDispatch requires that we supply the string address and postal code in addition to the Lng/Lat coordinates Pair<string, string> pickup_address = MapTools.GetReverseGeoLocAddress(request.pickupLocation); Pair<string, string> dropoff_address = MapTools.GetReverseGeoLocAddress(request.dropoffLocation); TDispatchAPI.GetFareRequest createRequest = new TDispatchAPI.GetFareRequest { payment_method = "cash", pickup_location = new TDispatchAPI.Location { lat = request.pickupLocation.Lat, lng = request.pickupLocation.Lng }, pickup_time = request.pickupTime.ToString("yyyy-MM-dd'T'HH:mm:ssK", DateTimeFormatInfo.InvariantInfo), dropoff_location = new TDispatchAPI.Location { lat = request.dropoffLocation.Lat, lng = request.dropoffLocation.Lng } }; // TODO: replace with POST /locations/fare TDispatchAPI.GetFareResponse createResponse = api.GetFare(createRequest); List<Quote> quotes = new List<Quote>(); var price = 0.0; try { price = double.Parse(createResponse.fare.formatted_total_cost.Replace("$", "")); } catch (Exception e) { } quotes.Add(new Quote(partnerID: ID, partnerName: name, fleetID: ID, fleetName: name, price: price, ETA: DateTime.UtcNow + new TimeSpan(1, 0, createResponse.fare.time_to_wait))); response = new Gateway.QuoteTripResponse(quotes, Result.OK); } Logger.EndRequest(response); return response; }