public static string ToJson(this GetFoodsNutrientsJsonResults self) => JsonConvert.SerializeObject(self, DAL.API.FoodNutritionConverter.Settings);
/////////////////////////////////////////// public async Task <Nutrition> GetNutritionsByName(string search) { List <Parameter> body = new List <Parameter> { new DataParameter("applicationSecret", "136102bad14d027d885ecd731f5a92d0"), new DataParameter("foodDescription", search), new DataParameter("applicationId", "4d8b69d2") }; /* List<Parameter> body = new List<Parameter> { * * new DataParameter("applicationSecret", "12707924c854726c16ec685b23b25d5e"), * new DataParameter("foodDescription", search), * new DataParameter("applicationId", "7dc87896") * * };*/ /* List<Parameter> body = new List<Parameter> { * * new DataParameter("applicationSecret", "f4b41ced83da477aae9ac35d1ff77a24"), * new DataParameter("foodDescription", search), * new DataParameter("applicationId", "650bd306") * * };*/ // nutrition Nutritions = new nutrition(); List <Nutrition> nutritionArr = new List <Nutrition>(); try { if (!check_con()) { throw new Exception("ERROR Connecting To Internet. Please Connect To Internet!"); } var temp = await RapidApi.Call("Nutritionix", "getFoodsNutrients", body.ToArray()); if (temp.TryGetValue("success", out object payload)) { var getFoodsNutrientsJsonResults = GetFoodsNutrientsJsonResults.FromJson(JsonConvert.SerializeObject(temp)); foreach (var item in getFoodsNutrientsJsonResults.Success[0].Foods) { nutritionArr.Add( new Nutrition( getFoodsNutrientsJsonResults.Success[0].Foods[0].NfCalories, getFoodsNutrientsJsonResults.Success[0].Foods[0].NfTotalCarbohydrate, getFoodsNutrientsJsonResults.Success[0].Foods[0].NfTotalFat, getFoodsNutrientsJsonResults.Success[0].Foods[0].NfProtein, getFoodsNutrientsJsonResults.Success[0].Foods[0].NfSodium, getFoodsNutrientsJsonResults.Success[0].Foods[0].NfSugars ) ); } if (nutritionArr.Count > 0) { foreach (PropertyInfo p in nutritionArr[0].GetType().GetProperties()) { if (p.GetValue(nutritionArr[0]) == null) { p.SetValue(nutritionArr[0], 0.00, null); } } } } else { JObject jObject = JObject.Parse(json: JsonConvert.SerializeObject(temp)); var error = jObject.SelectToken("error"); var errorMsg = jObject.SelectToken("error").First.First; throw new Exception("Error,\n API problem: " + errorMsg.ToString() + ",\n Please contact the technician man."); } return(nutritionArr[0]); } catch (RapidAPIServerException e) { throw new Exception(e.Message); } catch (Exception e) { throw new Exception(e.Message); } }