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);
        }
Exemple #4
0
        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;
        }
Exemple #5
0
        //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);
        }
Exemple #11
0
        //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);
        }