markovood

Untitled

Mar 25th, 2020
224
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. using System;
  2.  
  3. namespace PizzaCalories
  4. {
  5.     public class Topping : Ingredient
  6.     {
  7.         private string toppingType;
  8.         private double weight;
  9.  
  10.         public Topping(string toppingType, double weight)
  11.         {
  12.             this.ToppingType = toppingType;
  13.             this.WeightGR = weight;
  14.  
  15.             // set up 'modifier' field
  16.             switch (this.toppingType.ToLower())
  17.             {
  18.                 case "meat":
  19.                     this.Modifier = 1.2;
  20.                     break;
  21.                 case "veggies":
  22.                     this.Modifier = 0.8;
  23.                     break;
  24.                 case "cheese":
  25.                     this.Modifier = 1.1;
  26.                     break;
  27.                 case "sauce":
  28.                     this.Modifier = 0.9;
  29.                     break;
  30.             }
  31.         }
  32.  
  33.         public string ToppingType
  34.         {
  35.             set
  36.             {
  37.                 if (value.ToLower() != "meat" &&
  38.                     value.ToLower() != "veggies" &&
  39.                     value.ToLower() != "cheese" &&
  40.                     value.ToLower() != "sauce")
  41.                 {
  42.                     throw new ArgumentException($"Cannot place {value} on top of your pizza.");
  43.                 }
  44.  
  45.                 this.toppingType = value;
  46.             }
  47.         }
  48.  
  49.         public override double WeightGR
  50.         {
  51.             get => this.weight;
  52.             protected set
  53.             {
  54.                 if (value < 1 || value > 50)
  55.                 {
  56.                     throw new ArgumentException($"{this.toppingType} weight should be in the range [1..50].");
  57.                 }
  58.  
  59.                 this.weight = value;
  60.             }
  61.         }
  62.     }
  63. }
RAW Paste Data