private async Task <List <ReviewResult> > GetLocations(YelpReviewAnswer yelpInitialAnswer, string initialRequestBusinessId, string yelpKey) { List <ReviewResult> withLocations = new List <ReviewResult>(); BusinessLocation businessLocation = await GetBusinessLocation(initialRequestBusinessId, yelpKey); for (int i = 0; i < yelpInitialAnswer.Reviews.Length; i++) { withLocations.Add( new ReviewResult { Business_location = businessLocation, Content = yelpInitialAnswer.Reviews[i].Text, Rating = yelpInitialAnswer.Reviews[i].Rating, Reviewer = await GetReviewerInfo(yelpInitialAnswer.Reviews[i].User) } ); } return(withLocations); }
private async Task <BusinessLocation> GetBusinessLocation(string initialRequestBusinessId, string yelpKey) { using HttpClient client = new HttpClient { BaseAddress = new Uri(string.Format(BusinessLocationURLBase, initialRequestBusinessId)) }; client.DefaultRequestHeaders.Accept.Add(new System.Net.Http.Headers.MediaTypeWithQualityHeaderValue("application/json")); client.DefaultRequestHeaders.Authorization = new System.Net.Http.Headers.AuthenticationHeaderValue("Bearer", yelpKey); HttpResponseMessage response = client.GetAsync(InitialRequestURLParameters).Result; if (response.IsSuccessStatusCode) { YelpBusiness yelpAnswer = await response.Content.ReadAsAsync <YelpBusiness>(); BusinessLocation successfulResult = yelpAnswer.Location; return(successfulResult); } else { throw new ApplicationException("Did not get address for business " + initialRequestBusinessId); //Or should we still send what we have back? } }