//public static async Task<T> Get<T>(UploadTrackingApiRequest request) //{ // try // { // HttpResponseMessage response; // using (var http = new HttpClient()) // { // string queryString = "?"; // http.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); // if (request.Header != null) // { // foreach (var header in request.Header) // { // http.DefaultRequestHeaders.Add(header.Key, header.Value); // } // } // if (request.QueryString != null) // { // foreach (var qString in request.QueryString) // { // queryString += qString.Key + "=" + qString.Value + "&"; // } // } // response = await http.GetAsync(request.Url + queryString); // } // return JsonConvert.DeserializeObject<T>(await response.Content.ReadAsStringAsync()); // } // catch (Exception ex) // { // throw ex; // } //} public static async Task <UploadTrackingApiResponse <T> > Get <T>(UploadTrackingApiRequest request) { UploadTrackingApiResponse <T> response = new UploadTrackingApiResponse <T>(); try { using (var http = new HttpClient()) { string queryString = "?"; http.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); if (request.Header != null) { foreach (var header in request.Header) { http.DefaultRequestHeaders.Add(header.Key, header.Value); } } if (request.QueryString != null) { foreach (var qString in request.QueryString) { queryString += qString.Key + "=" + qString.Value + "&"; } } var result = await http.GetAsync(request.Url + queryString); try { T data = JsonConvert.DeserializeObject <T>(await result.Content.ReadAsStringAsync()); response.Data = data; response.StatusCode = result.StatusCode; response.ErrorMessage = result.ReasonPhrase; } catch (Exception ex) { } //result.RequestMessage = response.ErrorMessage; return(response); } } catch (Exception ex) { throw ex; } }
//public async Task<IActionResult> UploadTracking() //{ // _shopifyBLL.CreateFulfillment(); //} public IActionResult HandleStatusCode <T>(HttpStatusCode statusCode, UploadTrackingApiResponse <T> response) { if (response.StatusCode == HttpStatusCode.OK) { return(Ok(response.Data)); } else if (statusCode == HttpStatusCode.NotFound) { return(NotFound()); } else if (statusCode == HttpStatusCode.Accepted) { return(Accepted(response.Data)); } else if (statusCode == HttpStatusCode.BadRequest) { return(BadRequest(response.ErrorMessage)); } return(Ok()); }