Exemplo n.º 1
0
    private bool validateRequest(TripRequestAddresses tripRequestAddress, TripResponseList tripResponse)
    {
        if (tripRequestAddress == null)  //check the request
        {
            tripResponse.status = "BadRequest";
            return false;
        }

        if (tripRequestAddress.userType == 0)  //check user type
        {
            tripResponse.status = "NoUserType";
            return false;
        }

        if (tripRequestAddress.addresses.startLocation == null) //check the start location
        {
            tripResponse.status = "NoStartLocation";
            return false;
        }

        if (tripRequestAddress.addresses.endLocation == null) //check the end location
        {
            tripResponse.status = "NoEndLocation";
            return false;
        }
        return true;
    }
Exemplo n.º 2
0
    public TripResponseList findTrips(TripRequestAddresses tripRequestAddress)
    {
        TripResponseList tripResponse = new TripResponseList();
        tripResponse.status = "OK";

        if (validateRequest(tripRequestAddress, tripResponse))
        {
            if (validateRequestAddressWithGoogleGeoApi(tripRequestAddress, tripResponse))
            {
                if (convertGeoloactionToLocationTableObject())
                {
                    string status = tripResponse.status; //To pass by ref
                    switch (tripRequestAddress.userType)
                    {
                        case 1: tripResponse.DriversFound = new AvailableDrivers().find(listOfRequestLocations,ref status); break; // Passenger looking for drivers
                        case 2: tripResponse.PassengersFound = new AvailablePassengers().find(listOfRequestLocations,ref status); break; //Driver looking for passengers
                        default:; break;
                    }
                    tripResponse.status = status;
                }
            }
        }
        return tripResponse;
    }
Exemplo n.º 3
0
    private bool validateRequestAddressWithGoogleGeoApi(TripRequestAddresses tripRequestAddress, TripResponseList tripResponse)
    {
        string status = tripResponse.status; // to pass by ref
        listOfRequestGeolocations = new AddressStringToGeolocation().convert(tripRequestAddress.addresses, ref status);
        tripResponse.status = status;

        if (listOfRequestGeolocations == null) return false;
        return true;
    }