public static DAL.Entities.Meals GetMostSimilarMeal(Meal x, List <DAL.Entities.Meals> ListOfMeals, string dietType) { var list = GetList(ListOfMeals, dietType); var P = new List <double>(); var ListOfID = new List <int>(); DAL.Entities.Meals meal = null; foreach (var y in list) { P.Add(GetDistance(x, y)); ListOfID.Add(Convert.ToInt32(y.ID)); } var sortedList = SortedList(ListOfID, P); foreach (var y in list) { if (y.ID == sortedList[0]) { meal = y; break; } } return(meal); }
public Meals(Meals meals) { ID = meals.ID; Weight = meals.Weight; Name = meals.Name; Kcal = meals.Kcal; Protein = meals.Protein; Fat = meals.Fat; Carbs = meals.Carbs; DietType = meals.DietType; }
private static double GetDistance(Meal x, DAL.Entities.Meals y) => Math.Sqrt( Math.Pow(x.Carbs - Convert.ToDouble(y.Carbs), 2) + Math.Pow(x.Fat - Convert.ToDouble(y.Fat), 2) + Math.Pow(x.Kcal - Convert.ToDouble(y.Kcal), 2) + Math.Pow(x.Proteins - Convert.ToDouble(y.Protein), 2));