aboutsummaryrefslogtreecommitdiff
path: root/Models
diff options
context:
space:
mode:
authormarcinzelent <marcin@zelent.net>2021-02-21 14:13:49 +0100
committermarcinzelent <marcin@zelent.net>2019-12-20 14:21:37 +0100
commitb1eb36d3fbc5012b07489454a7452e8488507f6a (patch)
treef6a9e6e561eabde5b06366a6aeac78df123ca917 /Models
Initial commitHEADmaster
Diffstat (limited to 'Models')
-rw-r--r--Models/Pizza.cs36
-rw-r--r--Models/PizzaOrder.cs43
-rw-r--r--Models/Topping.cs29
3 files changed, 108 insertions, 0 deletions
diff --git a/Models/Pizza.cs b/Models/Pizza.cs
new file mode 100644
index 0000000..6cc053c
--- /dev/null
+++ b/Models/Pizza.cs
@@ -0,0 +1,36 @@
+using System.Collections.Generic;
+
+namespace KukaPizza.Models
+{
+ public class Pizza
+ {
+ private string _name;
+ private List<Topping> _toppings;
+ private double _price;
+
+ public Pizza(string name, List<Topping> toppings, double price)
+ {
+ _name = name;
+ _toppings = toppings;
+ _price = price;
+ }
+
+ public string Name { get { return _name; } }
+ public List<Topping> Toppings { get { return _toppings; } }
+ public double Price { get { return _price; } }
+
+ public string ToppingsToString()
+ {
+ string toppings = "";
+
+ for (int i = 0; i < _toppings.Count - 1; i++)
+ {
+ toppings += _toppings[i].Name + ", ";
+ }
+
+ toppings += _toppings[_toppings.Count - 1].Name;
+
+ return toppings;
+ }
+ }
+} \ No newline at end of file
diff --git a/Models/PizzaOrder.cs b/Models/PizzaOrder.cs
new file mode 100644
index 0000000..a8a983a
--- /dev/null
+++ b/Models/PizzaOrder.cs
@@ -0,0 +1,43 @@
+using System.Collections.Generic;
+
+namespace KukaPizza.Models
+{
+ public enum PizzaSize
+ {
+ Small,
+ Medium,
+ Large
+ }
+ public class PizzaOrder
+ {
+ public Pizza BasePizza { get; set; }
+ public List<Topping> ExtraToppings { get; set; }
+ public PizzaSize Size { get; set; }
+
+ public string ExtraToppingsToString()
+ {
+ string toppings = "";
+
+ for (int i = 0; i < ExtraToppings.Count - 1; i++)
+ {
+ toppings += ExtraToppings[i].Name + ", ";
+ }
+
+ toppings += ExtraToppings[ExtraToppings.Count - 1].Name;
+
+ return toppings;
+ }
+
+ public double GetPrice()
+ {
+ double totalPrice = BasePizza.Price;
+
+ foreach (var t in ExtraToppings)
+ {
+ totalPrice += t.Price;
+ }
+
+ return totalPrice;
+ }
+ }
+} \ No newline at end of file
diff --git a/Models/Topping.cs b/Models/Topping.cs
new file mode 100644
index 0000000..ab273e3
--- /dev/null
+++ b/Models/Topping.cs
@@ -0,0 +1,29 @@
+namespace KukaPizza.Models
+{
+ public enum ToppingCategory
+ {
+ Vegetable,
+ Meat,
+ Spice,
+ Cheese,
+ SeaFood,
+ Sauce
+ }
+
+ public class Topping
+ {
+ private string _name;
+ private ToppingCategory _category;
+ private double _price;
+ public Topping(string name, ToppingCategory category, double price)
+ {
+ _name = name;
+ _category = category;
+ _price = price;
+ }
+
+ public string Name { get { return _name; } }
+ public ToppingCategory Category { get { return _category; } }
+ public double Price { get { return _price; } }
+ }
+} \ No newline at end of file