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);
        }
Beispiel #2
0
        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);
        }
Beispiel #5
0
 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;
     }
 }
Beispiel #6
0
 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);
Beispiel #8
0
 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;
 }
Beispiel #9
0
 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);