public static async Task <MyMovieData> getDetailDataFromAPI(MyMovieData item, string souceCompany) { string apiDetailURL = GetUrlString(souceCompany, true); try { var moviceIDURL = apiDetailURL + item.ID; HttpResponseMessage responseData = new HttpResponseMessage(); int numberOfRetry = 0; MyMovieData movieFinalData = new MyMovieData(); using (HttpClient client = new HttpClient()) { do { using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, moviceIDURL)) { requestMessage.Headers.Add("x-access-token", "sjd1HfkjU83ksdsm3802k"); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); responseData = await client.SendAsync(requestMessage); numberOfRetry++; if (responseData.IsSuccessStatusCode) { using (HttpContent content = responseData.Content) { MyMovieDetailData myMovieDetailData = new MyMovieDetailData(); myMovieDetailData = await content.ReadAsAsync <MyMovieDetailData>(); movieFinalData = item; movieFinalData.Price = myMovieDetailData.Price; movieFinalData.DataSource = souceCompany; if (movieFinalData.Price != "") { movieFinalData.PriceDecimal = Convert.ToDecimal(movieFinalData.Price); } return(movieFinalData); } } } } while (responseData.IsSuccessStatusCode == false & numberOfRetry < 5); } return(null); } catch (Exception e) { Console.WriteLine(e); return(null); } }
//get movie data for each ID static async Task <String> GetIDRequest(string url, string movieID) { var moviceIDURL = url + movieID; using (HttpClient client = new HttpClient()) { using (var requestMessage = new HttpRequestMessage(HttpMethod.Get, moviceIDURL)) { requestMessage.Headers.Add("x-access-token", "sjd1HfkjU83ksdsm3802k"); requestMessage.Headers.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json")); var response = await client.SendAsync(requestMessage); using (HttpContent content = response.Content) { MyMovieDetailData myMovieDetailData = new MyMovieDetailData(); myMovieDetailData = await content.ReadAsAsync <MyMovieDetailData>(); //Console.WriteLine(myMovieDetailData.Price); return(myMovieDetailData.Price); } } } }