56 lines
1.4 KiB
C#
56 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Text;
|
|
|
|
using Android.App;
|
|
using Android.Content;
|
|
using Android.OS;
|
|
using Android.Runtime;
|
|
using Android.Views;
|
|
using Android.Widget;
|
|
|
|
using Newtonsoft.Json;
|
|
|
|
namespace Eat.Models
|
|
{
|
|
class Day : Product
|
|
{
|
|
[JsonProperty]
|
|
internal List<Tuple<Meal, double>> Meals { get; private set; } = new List<Tuple<Meal, double>>();
|
|
[JsonProperty]
|
|
public DateTime Date { get; private set; }
|
|
|
|
public Day(DateTime date)
|
|
{
|
|
this.Date = date;
|
|
}
|
|
|
|
public Day(DateTime date, List<Tuple<Meal, double>> meals)
|
|
{
|
|
this.Date = date;
|
|
Meals = meals;
|
|
}
|
|
|
|
public void AddMeal(Meal meal, double portion)
|
|
{
|
|
Meals.Add(new Tuple<Meal, double>(meal, portion));
|
|
}
|
|
|
|
public override void CalculateElements()
|
|
{
|
|
Cost = 0.0;
|
|
Kcal = 0;
|
|
Fat = Carbs = Protein = 0.0;
|
|
|
|
foreach (var meal in Meals)
|
|
{
|
|
Cost += meal.Item1.Cost * meal.Item2;
|
|
Kcal += Convert.ToInt32(meal.Item1.Kcal * meal.Item2);
|
|
Fat += meal.Item1.Fat * meal.Item2;
|
|
Carbs += meal.Item1.Carbs * meal.Item2;
|
|
Protein += meal.Item1.Protein * meal.Item2;
|
|
}
|
|
}
|
|
}
|
|
} |