コード例 #1
0
        public void SearchFood(int index)
        {
            String name = bindIndexToName(index);

            ReportObject.RootObject rootObject = EnterMealsModel.getReportInformation(name);
            Fat[index]     = rootObject.foods[0].food.desc.ff;
            Carbon[index]  = rootObject.foods[0].food.desc.cf;
            Protein[index] = rootObject.foods[0].food.desc.pf;
        }
コード例 #2
0
 public void setFoodByReport(string report, ReportObject.RootObject rootObject)
 {
     if (!FoodByReport.ContainsKey(report))
     {
         FoodByReport.Add(report, rootObject);
     }
     else
     {
         FoodByReport[report] = rootObject;
     }
 }
コード例 #3
0
        public ReportObject.RootObject getFoodDataByName(string name)
        {
            try
            {
                name.Replace(" ", "%20");
                HttpWebRequest SearchFoodWebReq = (HttpWebRequest)WebRequest.Create(string.Format(
                                                                                        "http://api.nal.usda.gov/ndb/search/?format=JSON&q=" + name + "&sort=n&max=25&offset=0&api_key=W1IAZNHJlfPsg9FL1j1POAqUajeu50fjcicm8skg"));

                SearchFoodWebReq.Method = "GET";

                HttpWebResponse SearchFoodWebResp = (HttpWebResponse)SearchFoodWebReq.GetResponse();

                string SearchFoodjsonString;
                using (Stream stream = SearchFoodWebResp.GetResponseStream())   //modified from your code since the using statement disposes the stream automatically when done
                {
                    StreamReader reader = new StreamReader(stream, System.Text.Encoding.UTF8);
                    SearchFoodjsonString = reader.ReadToEnd();
                }

                FoodObject.RootObject foodObject = JsonConvert.DeserializeObject <FoodObject.RootObject>(SearchFoodjsonString);//take ndb id from item
                string ndbno = foodObject.list.item[0].ndbno;

                HttpWebRequest NdbWebReq = (HttpWebRequest)WebRequest.Create(string.Format(
                                                                                 "https://api.nal.usda.gov/ndb/V2/reports?ndbno=" + ndbno + "&type=f&format=JSON&api_key=W1IAZNHJlfPsg9FL1j1POAqUajeu50fjcicm8skg"));

                NdbWebReq.Method = "GET";

                HttpWebResponse NdbWebResp = (HttpWebResponse)NdbWebReq.GetResponse();

                string NdbjsonString;
                using (Stream stream = NdbWebResp.GetResponseStream())   //modified from your code since the using statement disposes the stream automatically when done
                {
                    StreamReader reader = new StreamReader(stream, System.Text.Encoding.UTF8);
                    NdbjsonString = reader.ReadToEnd();
                }


                ReportObject.RootObject rootObject = JsonConvert.DeserializeObject <ReportObject.RootObject>(NdbjsonString);
                //rootObject.setKeyValues();

                //        UpdateReportDB(rootObject);

                return(rootObject);
            }
            catch (WebException e)
            {
                System.Console.WriteLine(e);
                return(null);
            }
        }