public override bool TakeOrder(TypePizza menu, ref decimal customerMoney, ref decimal companyMoney, Action <Func <AbstractPizza> > CollBackPizza) { if (menu == TypePizza.None || CheckMoney(menu, ref customerMoney, ref companyMoney) == -1) { return(false); } Orders.Enqueue(new Order <TypePizza, Action <Func <AbstractPizza> > >(menu, CollBackPizza)); return(true); }
protected AbstractPizza FactoryPizza(TypePizza menu) { switch (menu) { case TypePizza.CaliforniaPizza: return(new CaliforniaPizza()); case TypePizza.ChicagoPizza: return(new ChicagoPizza()); case TypePizza.NeapolitanPizza: return(new NeapolitanPizza()); default: return(null); } }
private int CheckMoney(TypePizza menu, ref decimal customerMoney, ref decimal companyMoney) { if (((int)menu) <= customerMoney) { customerMoney -= (int)menu; companyMoney += (int)menu; return(0); } else { return(-1); } }
public override bool OrderTo(TypePizza menu, ref decimal money, Action <Func <AbstractPizza> > CallBackPizza) { AbstractCashier cashier = null; foreach (var item in _worker) { if (item is AbstractCashier) { cashier = (AbstractCashier)item; } } if (cashier != null) { return(cashier.TakeOrder(menu, ref money, ref _money, CallBackPizza)); } return(false); }
public Pizza(TypePizza typePizza) { if (typePizza == TypePizza.Cheesee) { Name = TypePizza.Cheesee; Cost = 300; } if (typePizza == TypePizza.HunterPizza) { Name = TypePizza.HunterPizza; Cost = 450; } if (typePizza == TypePizza.Peperonni) { Name = TypePizza.Peperonni; Cost = 400; } if (typePizza == TypePizza.Vegetariana) { Name = TypePizza.Vegetariana; Cost = 450; } }
public bool OrderToPizza(Pizzeria pizzeria, TypePizza pizza) { return(pizzeria.OrderTo(pizza, ref _money, GetPizza)); }
public abstract bool TakeOrder(TypePizza menu, ref decimal customerMoney, ref decimal companyMoney, Action <Func <AbstractPizza> > CollBackPizza);
public Pizza(string name, double weight, double carbohydrates, double fats, double proteins, string datePut, FoodHeat foodHeat, int price, int numberSlices, TypePizza typePizza) : base(name, weight, carbohydrates, fats, proteins, datePut, foodHeat, price) { PizzaType = typePizza; NumberSlices = numberSlices; }
public Pizza(string name, int numberSlices, TypePizza typePizza, int price, double weight) : base(name, weight, price) { PizzaType = typePizza; NumberSlices = numberSlices; }
public abstract bool OrderTo(TypePizza menu, ref decimal money, Action <Func <AbstractPizza> > CollBackPizza);