public void CanGetCityViaChefResultsModel() { ChefResults location = new ChefResults(); location.city = "Louiville"; Assert.Equal("Louiville", location.city); }
public void CanGetChefReviewsViaChefResultsModel() { ChefResults reviews = new ChefResults(); reviews.review = "This is a raving review"; Assert.Equal("This is a raving review", reviews.review); }
public void CanGetDescriptionViaChefResultsModel() { ChefResults descriptions = new ChefResults(); descriptions.description = "Finger lickin' good!"; Assert.Equal("Finger lickin' good!", descriptions.description); }
public void CanGetAddressViaChefResultsModel() { ChefResults addresses = new ChefResults(); addresses.address = "1900 Colonel Sanders Lane, Louiville, KY 40213"; Assert.Equal("1900 Colonel Sanders Lane, Louiville, KY 40213", addresses.address); }
public void CanGetRestaurantViaChefResultsModel() { ChefResults restaurant = new ChefResults(); restaurant.restaurantName = "KFC"; Assert.Equal("KFC", restaurant.restaurantName); }
public void CanGetChefLastNameViaChefResultsModel() { ChefResults chef = new ChefResults(); chef.lastName = "Sanders"; Assert.Equal("Sanders", chef.lastName); }
public void CanGetChefNameViaChefResultsModel() { ChefResults chef = new ChefResults(); chef.firstName = "Colonel"; Assert.Equal("Colonel", chef.firstName); }
public async Task <IActionResult> Index(string search, int userId) { using (var chefClient = new HttpClient()) { try { chefClient.BaseAddress = new Uri("https://praiseapi.azurewebsites.net"); var response = await chefClient.GetAsync($"/api/recommendations"); response.EnsureSuccessStatusCode(); var chefResults = await response.Content.ReadAsStringAsync(); // required to convert to a List<CelebrityChef> since the json coming from API is numerous arrays from their database. var rawChefRecommendations = JsonConvert.DeserializeObject <List <ChefResults> >(chefResults); var yelpRequest = new Yelp.Api.Models.SearchRequest(); yelpRequest.Term = "restaurants"; yelpRequest.Location = search.ToLower(); yelpRequest.MaxResults = 50; var yelpClient = new Yelp.Api.Client("e0ZfT6muy7b6ZDYXAJVWjIx_oM4eCQSxVxaFGhjJSrLfHRoEX6XgUExr7DCGufP-WTImBXy150jg5eC12i5l2nVcLl5RvmZbck26hv6a_BpIvEhfOZc0YEfFPTfjW3Yx"); var yelpResults = await yelpClient.SearchBusinessesAllAsync(yelpRequest); var rawYelpRecommendations = yelpResults.Businesses; IEnumerable <ChefResults> filteredChefRecommendations = rawChefRecommendations.Where(x => x.city.ToLower() == search.ToLower()); List <ChefResults> combinedResults = new List <ChefResults>(); foreach (var item in rawYelpRecommendations) { foreach (var chefRec in rawChefRecommendations) { if (item.Name.ToLower() == chefRec.restaurantName.ToLower()) { combinedResults.Add(chefRec); } } } int count = 0; int index = 0; int final = 10 - combinedResults.Count(); while (count < final && rawYelpRecommendations.ElementAt(index) != null) { bool isValid = true; foreach (ChefResults cr in combinedResults) { if (cr.restaurantName.ToLower() == rawYelpRecommendations.ElementAt(index).Name.ToLower()) { isValid = false; } } if (isValid) { ChefResults yelpRest = new ChefResults { restaurantName = rawYelpRecommendations.ElementAt(index).Name, description = rawYelpRecommendations.ElementAt(index).Categories[0].Title, address = rawYelpRecommendations.ElementAt(index).Location.Address1, restaurantImage = rawYelpRecommendations.ElementAt(index).ImageUrl }; combinedResults.Add(yelpRest); count++; } index++; } return(View(new FavoritesCombined { UserID = userId, ResultsList = combinedResults })); } catch (HttpRequestException e) { return(BadRequest($"Sorry, getting chef recommendations from PraiseAPI: {e.Message}")); } } }