Exemplo n.º 1
0
        public static IMainDish CreateMainDish(FoodInformation foodInformation)
        {
            IMainDish mainDish = null;

            switch (foodInformation.Name.ToUpper())
            {
            case "SCHABOWY Z FRYTKAMI":
                mainDish = new ShnitzelFries(foodInformation.ID, foodInformation.Name, foodInformation.Price);
                break;

            case "SCHABOWY Z ZIEMNIAKAMI":
                mainDish = new ShnitzelPotato(foodInformation.ID, foodInformation.Name, foodInformation.Price);
                break;

            case "SCHABOWY Z RYŻEM":
                mainDish = new ShnitzelRice(foodInformation.ID, foodInformation.Name, foodInformation.Price);
                break;

            case "RYBA Z FRYTKAMI":
                mainDish = new FishFries(foodInformation.ID, foodInformation.Name, foodInformation.Price);
                break;

            case "PLACEK PO WĘGIERSKU":
                mainDish = new HungarianCake(foodInformation.ID, foodInformation.Name, foodInformation.Price);
                break;
            }

            return(mainDish);
        }
Exemplo n.º 2
0
        // Zdarzenie usuwania zaznaczonych produktów z koszyka
        private void uiBtnDelete_Click(object sender, EventArgs e)
        {
            for (int i = uiClbShopingCard.CheckedItems.Count - 1; i >= 0; i--)
            {
                if (uiClbShopingCard.CheckedItems[i] is IPizza)
                {
                    IPizza pizza = uiClbShopingCard.CheckedItems[i] as IPizza;
                    _orderCost -= pizza.Price();
                    uiClbShopingCard.Items.RemoveAt(uiClbShopingCard.Items.IndexOf(uiClbShopingCard.CheckedItems[i]));
                }
                else if (uiClbShopingCard.CheckedItems[i] is IDrink)
                {
                    IDrink drink = uiClbShopingCard.CheckedItems[i] as IDrink;
                    _orderCost -= drink.Price();
                    uiClbShopingCard.Items.RemoveAt(uiClbShopingCard.Items.IndexOf(uiClbShopingCard.CheckedItems[i]));
                }
                else if (uiClbShopingCard.CheckedItems[i] is ISoup)
                {
                    ISoup soup = uiClbShopingCard.CheckedItems[i] as ISoup;
                    _orderCost -= soup.Price();
                    uiClbShopingCard.Items.RemoveAt(uiClbShopingCard.Items.IndexOf(uiClbShopingCard.CheckedItems[i]));
                }
                else if (uiClbShopingCard.CheckedItems[i] is IMainDish)
                {
                    IMainDish mainDish = uiClbShopingCard.CheckedItems[i] as IMainDish;
                    _orderCost -= mainDish.Price();
                    uiClbShopingCard.Items.RemoveAt(uiClbShopingCard.Items.IndexOf(uiClbShopingCard.CheckedItems[i]));
                }
            }

            uiTxtOrderCost.Text = _orderCost.ToString("C", _cultureInfo);
        }
Exemplo n.º 3
0
        public IMainDish CustomMainDish(IMainDish mainDish, List <FoodInformation> objects)
        {
            foreach (FoodInformation food in objects)
            {
                mainDish = AddToMainDishFactory.CreateAddToMainDish(mainDish, food);
            }

            return(mainDish);
        }
Exemplo n.º 4
0
 public ToppingsForDinner(IMainDish mainDish)
     : this()
 {
     _mainDish             = mainDish;
     uiLblDinnerName.Text  = mainDish.Name();
     _actualPrice          = mainDish.Price();
     uiTxtPrice.Text       = _actualPrice.ToString("C", _cultureInfo);
     _addToMainDishObjects = _toppingsLogic.GetMainDishToppingsObjects();
     AddMenu();
 }
Exemplo n.º 5
0
        public static IMainDish CreateAddToMainDish(IMainDish mainDish, FoodInformation foodInformation)
        {
            switch (foodInformation.Name.ToUpper())
            {
            case "BAR SAŁATKOWY":
                mainDish = new Salad(mainDish, foodInformation.Name, foodInformation.Price);
                break;

            case "ZESTAW SOSÓW":
                mainDish = new Sauce(mainDish, foodInformation.Name, foodInformation.Price);
                break;
            }

            return(mainDish);
        }
Exemplo n.º 6
0
        // Zdarzenie obsługujące tworzenie obiektu danie główne
        private void MainDishClickEvent(object sender, EventArgs e)
        {
            Button    button   = sender as Button;
            IMainDish mainDish = MainDishFactory.CreateMainDish(button.Tag as FoodInformation);

            using (ToppingsForDinner toppings = new ToppingsForDinner(mainDish))
            {
                if (toppings.ShowDialog() == DialogResult.OK)
                {
                    uiClbShopingCard.Items.Add(toppings.MainDish);
                    _orderCost         += toppings.MainDish.Price();
                    uiTxtOrderCost.Text = _orderCost.ToString("C", _cultureInfo);
                }
            }
        }
Exemplo n.º 7
0
        // Wykorzystanie wzorca projektowego Dekorator do dekorowania Pizzy lub Dań głównych dodatkami.
        private void uiBtnAccept_Click(object sender, EventArgs e)
        {
            List <FoodInformation> foodInformations = new List <FoodInformation>();

            foreach (Control control in uiFlpToppingsChoosen.Controls)
            {
                Label lbl = (Label)control;
                foodInformations.Add((FoodInformation)lbl.Tag);
            }

            if (_pizza != null)
            {
                _pizza = _toppingsLogic.CustomPizza(_pizza, foodInformations);
            }
            else if (_mainDish != null)
            {
                _mainDish = _toppingsLogic.CustomMainDish(_mainDish, foodInformations);
            }

            this.DialogResult = DialogResult.OK;
            Close();
        }
Exemplo n.º 8
0
 public Sauce(IMainDish mainDish, string name, decimal price)
 {
     _mainDish = mainDish;
     _name     = name;
     _price    = price;
 }