89 lines
1.8 KiB
C#
89 lines
1.8 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Runtime.Serialization;
|
|||
|
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 Product
|
|||
|
{
|
|||
|
[JsonProperty]
|
|||
|
public string Name
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
}
|
|||
|
|
|||
|
[JsonProperty]
|
|||
|
public double Cost
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
}
|
|||
|
|
|||
|
[JsonProperty]
|
|||
|
public int Kcal
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
}
|
|||
|
|
|||
|
[JsonProperty]
|
|||
|
public double Fat
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
}
|
|||
|
|
|||
|
[JsonProperty]
|
|||
|
public double Carbs
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
}
|
|||
|
|
|||
|
[JsonProperty]
|
|||
|
public double Protein
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
}
|
|||
|
|
|||
|
// Make sure they are always written in lowercase
|
|||
|
[JsonProperty]
|
|||
|
public List<string> Tags
|
|||
|
{
|
|||
|
get; protected set;
|
|||
|
} = new List<string>();
|
|||
|
|
|||
|
public Product()
|
|||
|
{
|
|||
|
Name = "Unknown";
|
|||
|
}
|
|||
|
|
|||
|
public Product(string name, double cost, double fat, double carbs, double protein, List<string> tags)
|
|||
|
{
|
|||
|
Name = name;
|
|||
|
Cost = cost;
|
|||
|
Kcal = Convert.ToInt32((fat * 9) + (carbs * 4) + (protein * 4));
|
|||
|
Fat = fat;
|
|||
|
Carbs = carbs;
|
|||
|
Protein = protein;
|
|||
|
Tags = tags;
|
|||
|
}
|
|||
|
|
|||
|
public string Serialize()
|
|||
|
{
|
|||
|
return JsonConvert.SerializeObject(this);
|
|||
|
}
|
|||
|
|
|||
|
public virtual void CalculateElements()
|
|||
|
{
|
|||
|
throw new Exception("Don't call this method from object of class Product");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|