コード例 #1
0
ファイル: TripThruGateway.cs プロジェクト: TripThru/Gateway
 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);
 }
コード例 #2
0
ファイル: TripThruGateway.cs プロジェクト: TripThru/Gateway
 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);
 }
コード例 #3
0
ファイル: TripThruGateway.cs プロジェクト: TripThru/Gateway
        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);
        }