public override Gateway.DispatchTripResponse DispatchTrip(Gateway.DispatchTripRequest request) { Logger.BeginRequest("DispatchTrip sent to " + server.name, request); Gateway.DispatchTripResponse response = server.DispatchTrip(request); Logger.EndRequest(response); return(response); }
public override Gateway.DispatchTripResponse DispatchTrip(Gateway.DispatchTripRequest request) { Logger.BeginRequest("DispatchTrip received from " + gateway.GetName(request.clientID), request); Gateway.DispatchTripResponse response = gateway.DispatchTrip(request); Logger.EndRequest(response); return(response); }
public override DispatchTripResponse DispatchTrip(DispatchTripRequest r) { requests++; DispatchTripResponse response; if (TripIsNotAlreadyActive(r)) { // Note: GetTrip populates the foreignTripID Gateway partner = null; if (PartnerHasNotBeenSpecified(r)) { response = AutoDispatchTrip(r, ref partner); } else { partner = SelectedPartner(r); } if (PartnerHasBeenSelected(partner)) { RecordTripOriginatingAndServicingPartner(r, partner); if (TripIsLocal(r)) { response = new DispatchTripResponse(result: Result.OK); } else { var partnerClientId = r.clientID; ChangeTheClientIDToTripThru(r); response = partner.DispatchTrip(r); r.clientID = partnerClientId; } if (response.result != Result.OK) { Logger.Log("DispatchTrip to " + partner.name + " failed"); } else { MakeTripAndAddItToActive(r, partner); } } else { response = MakeRejectDispatchResponse(r, partners[r.clientID], partner); Logger.Log("DispatchTrip failed: No partner found."); } } else { response = MakeRejectDispatchResponse(r, partners[r.clientID], null); Logger.Log("DispatchTrip failed: Trip already active"); } return(response); }