/// <summary> /// Wypełnia TabItem1 danymi o spożyciu kalorii, daty, sumę kalorii i rysuje wykres interpolowany na tych wartościach /// </summary> /// <param name="listBox"></param> public void ViewCalories(ListBox listBox) { Consumed = GetConsumed(); var q = GetCalories().Select(x => new { Date = x.Key, Kcall = x.Value }).ToList(); for (int i = 0; i < q.Count; i++) listBox.Items.Add(i + 1 + "\t" + q[i].Date + "\t" + q[i].Kcall); var fx = q.Select(x => x.Kcall).ToList(); Nodes nodes = new Nodes(fx); OxyPlotModel.DrawSeries("Spożyte kalorie", nodes.X, nodes.Y, "Dni", "Kalorie"); OxyPlotModel.PlotModel.InvalidatePlot(true); }
/// <summary> /// Wypełnia TabItem2 rankingiem spożycia zestawów i rysuje wykres interpolowany na tych wartościach /// </summary> /// <param name="listBox"></param> public void ViewFavourites(ListBox listBox) { listBox.Items.Clear(); var favouriteName = GetFavouriteCount().Select(x => new { Name = x.Key, Value = x.Value }).ToList(); for (int i = 0; i < favouriteName.Count; i++) listBox.Items.Add(i + 1 + "\t" + favouriteName[i].Name + "\t ilość = " + favouriteName[i].Value); var fx = GetFavouriteCount().Select(x => x.Value).ToList(); Nodes nodes = new Nodes(fx); OxyPlotModel.DrawSeries("Ulubione zestawy", nodes.X, nodes.Y, "Zestawy", "Ranking"); OxyPlotModel.PlotModel.InvalidatePlot(true); }
/// <summary> /// Wypełnia TabItem4 wartościami odżywczymi wybranego składnika posiłku i rysuje wykres interpolowany na tych wartościach /// </summary> /// <param name="listBox"></param> public void ViewNutritionalValues(ListBox listBox) { listBox.Items.Clear(); var meal = Meals.Where(x => x.MealName == SelectedMeal) .OrderBy(x => x) .First(); listBox.Items.Add("1. Kalorie = " + meal.Calories + "\n" + "2. Tłuszcze = " + meal.Fat + "\n" + "3. Węglowodany = " + meal.CarboHydrates + "\n" + "4. Białko = " + meal.Protein); var values = new List<double>() { meal.Calories, meal.Fat, meal.CarboHydrates, meal.Protein }; Nodes nodes = new Nodes(values); OxyPlotModel.DrawSeries("Wartości odżywcze", nodes.X, nodes.Y, "Składniki", "Ilość na 100/g"); OxyPlotModel.PlotModel.InvalidatePlot(true); }
/// <summary> /// Wypełnia TabItem3 danymi na temat ilości użytych składników zestawu i rysuje wykres interpolowany na tych wartościach /// </summary> /// <param name="listbox"></param> public void ViewComponents(ListBox listbox) { listbox.Items.Clear(); var q = Consumed.Select(x => x.Favorite) .Where(y => y.FavoriteName == SelectedFavourite) .First() .FavoriteCompontents .Select(x => new { Name = x.Meal.MealName, Quantity = x.Quantity }).ToList(); for (int i = 0; i < q.Count; i++) listbox.Items.Add(i + 1 + "\t" + q[i].Name + "\t ilość = " + q[i].Quantity + "gram"); Nodes nodes = new Nodes(q.Select(x => Convert.ToDouble(x.Quantity)).ToList()); OxyPlotModel.DrawSeries("Składniki zestawu", nodes.X, nodes.Y, "Składniki", "Ilość gram"); OxyPlotModel.PlotModel.InvalidatePlot(true); Meals = GetMeals(); }