public static void PowerSearchItems() { var nutritionix = new NutritionixClient(); nutritionix.Initialize(AppId, AppKey); var request = new PowerSearchRequest { Query = "starbucks AND frap*", Fields = new SearchResultFieldCollection {x => x.Name, x => x.NutritionFact_Calories, x => x.ItemType}, SortBy = new SearchResultSort(x => x.NutritionFact_Calories, SortOrder.Descending), Filters = new SearchFilterCollection { new ItemTypeFilter {Negated = true, ItemType = ItemType.Packaged} } }; Console.WriteLine("Power Searching Nutritionix for: 'starbucks AND frap*' sorted by calories, not a packaged food..."); SearchResponse response = nutritionix.SearchItems(request); Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults); foreach (SearchResult result in response.Results) { Console.WriteLine("* {0} ({1} calories) from the {2} database", result.Item.Name, result.Item.NutritionFact_Calories, result.Item.ItemType); } Console.WriteLine(); }
public static void PowerSearchItems() { var nutritionix = new NutritionixClient(); nutritionix.Initialize(AppId, AppKey); var request = new PowerSearchRequest { Queries = new QueryFilterCollection { new QueryFilter(x => x.Name, "frap*"), new QueryFilter(x => x.BrandName, "Starbucks") }, Fields = new SearchResultFieldCollection { x => x.Name, x => x.BrandName, x => x.NutritionFact_Calories, x => x.ItemType }, SortBy = new SearchResultSort(x => x.NutritionFact_Calories, SortOrder.Descending), Filters = new SearchFilterCollection { new ItemTypeFilter { Negated = true, ItemType = ItemType.Packaged } } }; Console.WriteLine("Power Searching Nutritionix for: Item Name: 'frap*' and Brand Name: 'Starbucks' sorted by calories, not a packaged food..."); SearchResponse response = nutritionix.SearchItems(request); Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults); foreach (SearchResult result in response.Results) { Console.WriteLine("* {0} {1} ({2} calories) from the {3} database", result.Item.BrandName, result.Item.Name, result.Item.NutritionFact_Calories, result.Item.ItemType); } Console.WriteLine(); }
public void Search_ThrowsNutritionixException_WhenBadResponseisReturned() { MockResponse(string.Empty, HttpStatusCode.BadRequest); var client = new NutritionixClient(); var request = new NutritionixSearchRequest { Query = "foobar" }; NutritionixSearchResponse response = client.SearchItems(request); Assert.AreEqual(0, response.Results.Length); }
public SearchResult[] Search(string query) { var nutritionix = new NutritionixClient(); nutritionix.Initialize(MyApiId, MyApiKey); var request = new SearchRequest { Query = query, IncludeAllFields = true}; SearchResponse response = nutritionix.SearchItems(request); return response.Results; }
//Make the counter //public int? CalorieCount(string Calories) //{ // var calorieCounter = db.DietPlan.Where(c => c.Calories == Calories).Select() //} //TEST NUTRITIONIX public SearchResult[] NutritionixSearchResult(string searchInput) { var nutritionix = new NutritionixClient(); nutritionix.Initialize(myApiId, myApiKey); var request = new SearchRequest { Query = searchInput }; SearchResponse response = nutritionix.SearchItems(request); return(response.Results); }
public void Search_ThrowsNutritionixException_WhenNutritionixReturnsErrorResponse() { var errorResponse = new NutritionixErrorResponse { Errors = new[] {new NutritionixError {Code = "404", Message = "No item found with id fake"}} }; var json = JsonConvert.SerializeObject(errorResponse); MockResponse(json, HttpStatusCode.NotFound); var client = new NutritionixClient(); var request = new NutritionixSearchRequest { Query = "foobar" }; client.SearchItems(request); }
public void Search_ReturnsPopulatedResults() { var sampleResponse = new NutritionixSearchResponse { TotalResults = 1, Results = new[] { new NutritionixSearchResult() } }; string json = JsonConvert.SerializeObject(sampleResponse); MockResponse(json); var client = new NutritionixClient(); var request = new NutritionixSearchRequest { Query = "foobar" }; NutritionixSearchResponse response = client.SearchItems(request); Assert.AreEqual(1, response.Results.Length); }
public static void RetrieveItemsByBrand() { var nutritionix = new NutritionixClient(); nutritionix.Initialize(myApiId, myApiKey); var request = new NutritionixSearchRequest { BrandId = "513fbc1283aa2dc80c000024" }; Console.WriteLine("Searching Nutritionix for the Olive Garden brand..."); NutritionixSearchResponse response = nutritionix.SearchItems(request); Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults); foreach (NutritionixSearchResult result in response.Results) { Console.WriteLine("* {0}", result.Item.Name); } Console.WriteLine(); }
public void Search_ReturnsEmptyResults_WhenResultsIsNull() { var sampleResponse = new NutritionixSearchResponse { TotalResults = 0, Results = null }; string json = JsonConvert.SerializeObject(sampleResponse); MockResponse(json); var client = new NutritionixClient(); var request = new NutritionixSearchRequest { Query = "foobar" }; NutritionixSearchResponse response = client.SearchItems(request); Assert.IsNotNull(response.Results); Assert.AreEqual(0, response.Results.Length); }
public static ICollection <string> SearchItems(string searchString) { var nutritionix = new NutritionixClient(); nutritionix.Initialize(AppId, AppKey); var request = new SearchRequest { Query = searchString }; SearchResponse response = nutritionix.SearchItems(request); List <string> searchResults = new List <string>(); foreach (SearchResult result in response.Results) { searchResults.Add(result.Item.Name); } return(searchResults); }
//metoda nawiązuje połączenie z web API, wysyła i obdiera zapytanie; //zwraca pierwszy z odebranych produktów public Item LookupNutritionInfo(string searchString) { //zainicjalizowanie połączenia z API kluczem i id nutritionix.Initialize(nutritionixId, nutritionixKey); //stworzenie obiektu reprezentującego pojedyncze zapytanie do wyszukania SearchRequest searchRequest = new SearchRequest(); searchRequest.Query = searchString; //obiekt przechodujący odebraną z API odpowiedź var searchResult = new SearchResponse(); searchResult = nutritionix.SearchItems(searchRequest); //wydobycie z odpowiedzi pierwszego obiektu reprezentujacego pojedynczy produkt var item = nutritionix.RetrieveItem(searchResult.Results[0].Item.Id); return(item); }
public static void SearchItems() { var nutritionix = new NutritionixClient(); nutritionix.Initialize(AppId, AppKey); var request = new SearchRequest { Query = "pie" }; Console.WriteLine("Searching Nutritionix for 'pie'..."); SearchResponse response = nutritionix.SearchItems(request); Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults); foreach (SearchResult result in response.Results) { Console.WriteLine("* {0}", result.Item.Name); } Console.WriteLine(); }
public static void RetrieveItemsByBrand() { var nutritionix = new NutritionixClient(); nutritionix.Initialize(AppId, AppKey); var request = new SearchRequest { BrandId = "513fbc1283aa2dc80c000024" }; Console.WriteLine("Searching Nutritionix for the Olive Garden brand..."); SearchResponse response = nutritionix.SearchItems(request); Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults); foreach (SearchResult result in response.Results) { Console.WriteLine("* {0}", result.Item.Name); } Console.WriteLine(); }
public void Search_ReturnsEmptyResults_WhenResultsIsNull() { var sampleResponse = new SearchResponse { TotalResults = 0, Results = null }; string json = JsonConvert.SerializeObject(sampleResponse); MockResponse(json); var request = new SearchRequest { Query = "foobar" }; SearchResponse response = _nutritionix.SearchItems(request); Assert.IsNotNull(response.Results); Assert.AreEqual(0, response.Results.Length); }
public static void SearchItems() { var nutritionix = new NutritionixClient(); nutritionix.Initialize(myApiId, myApiKey); var request = new NutritionixSearchRequest { Query = "pie" }; Console.WriteLine("Searching Nutritionix for 'pie'..."); NutritionixSearchResponse response = nutritionix.SearchItems(request); Console.WriteLine("Displaying results 1 - {0} of {1}", response.Results.Length, response.TotalResults); foreach(NutritionixSearchResult result in response.Results) { Console.WriteLine("* {0}", result.Item.Name); } Console.WriteLine(); }
public void Search_ThrowsNutritionixException_WhenResponseContainsUnparseableJson() { MockResponse("<!_foobar'd"); var client = new NutritionixClient(); var request = new NutritionixSearchRequest{Query = "foobar"}; client.SearchItems(request); }
public static ICollection <Item> PowerSearchItems(string foodName, string brandName, bool isRestaurant, bool isPackaged, bool isUsda) { var nutritionix = new NutritionixClient(); nutritionix.Initialize(AppId, AppKey); var request = new PowerSearchRequest(); request.Queries = new QueryFilterCollection(); if (!String.IsNullOrEmpty(foodName)) { request.Queries.Add(new QueryFilter(x => x.Name, foodName)); } if (!String.IsNullOrEmpty(brandName)) { request.Queries.Add(new QueryFilter(x => x.BrandName, brandName)); } request.Fields = new SearchResultFieldCollection { x => x.Name, x => x.BrandName, x => x.NutritionFact_Calories, x => x.NutritionFact_TotalCarbohydrate, x => x.NutritionFact_Protein, x => x.NutritionFact_TotalFat, x => x.NutritionFact_Sugar, x => x.NutritionFact_DietaryFiber, x => x.ItemType }; request.SortBy = new SearchResultSort(x => x.NutritionFact_Calories, SortOrder.Descending); request.Filters = new SearchFilterCollection(); if (isRestaurant) { request.Filters.Add(new ItemTypeFilter { Negated = false, ItemType = ItemType.Restaurant }); } if (isPackaged) { request.Filters.Add(new ItemTypeFilter { Negated = false, ItemType = ItemType.Packaged }); } if (isUsda) { request.Filters.Add(new ItemTypeFilter { Negated = false, ItemType = ItemType.USDA }); } SearchResponse response = nutritionix.SearchItems(request); List <Item> searchResults = new List <Item>(); foreach (SearchResult result in response.Results) { searchResults.Add(new Item() { BrandName = result.Item.BrandName, Name = result.Item.Name, NutritionFact_Calories = result.Item.NutritionFact_Calories, NutritionFact_Sugar = result.Item.NutritionFact_Sugar, NutritionFact_TotalCarbohydrate = result.Item.NutritionFact_TotalCarbohydrate, NutritionFact_Protein = result.Item.NutritionFact_Protein, NutritionFact_TotalFat = result.Item.NutritionFact_TotalFat, NutritionFact_DietaryFiber = result.Item.NutritionFact_DietaryFiber, ItemType = result.Item.ItemType }); } return(searchResults); }