示例#1
0
        public LocationDetails GetLocationDetails(string accessToken, int locationId)
        {
            // Special case 404 error since this means the location does not exist, is not visible,
            // or the merchant owner of the location is not live
            var custom_response = new Dictionary <HttpStatusCode, LevelUpRestWrapper.ResponseAction>
            {
                {
                    HttpStatusCode.NotFound,
                    response =>
                    {
                        if (response.StatusCode == HttpStatusCode.NotFound)
                        {
                            throw new LevelUpApiException($"Cannot get location details for location {locationId}." +
                                                          " This location may not exist, not be visible, or the merchant owner may not be live.",
                                                          response.StatusCode,
                                                          response.ErrorException);
                        }
                    }
                }
            };

            LocationDetailsQueryRequest request = new LocationDetailsQueryRequest(accessToken, locationId);

            return(_restWrapper.Get <LocationDetails>(
                       uri: BuildUri(request.ApiVersion, $"locations/{request.LocationId}"),
                       accessTokenHeader: FormatAccessTokenString(unspecifiedUserAccessToken: request.AccessToken),
                       actions: custom_response));
        }
        public LocationDetails GetLocationDetails(string accessToken, int locationId)
        {
            LocationDetailsQueryRequest request = new LocationDetailsQueryRequest(accessToken, locationId);

            return(request.Accept(_engine) as LocationDetails);
        }
示例#3
0
 public virtual T Visit(LocationDetailsQueryRequest request)
 {
     return(DEFAULT_FUNC(request));
 }
 public IResponse Visit(LocationDetailsQueryRequest request)
 {
     return(_restWrapper.Get <LocationDetails>(uri: GetEndpoint(request),
                                               accessTokenHeader: GetHeaderToken(request),
                                               actions: GetCustomResponseHandlers(request)));
 }
 public string Visit(LocationDetailsQueryRequest request)
 {
     return(BuildUri(request.ApiVersion, string.Format("locations/{0}", request.LocationId)));
 }