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; }
public void setFoodByReport(string report, ReportObject.RootObject rootObject) { if (!FoodByReport.ContainsKey(report)) { FoodByReport.Add(report, rootObject); } else { FoodByReport[report] = rootObject; } }
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); } }