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); }
// 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); }
public IMainDish CustomMainDish(IMainDish mainDish, List <FoodInformation> objects) { foreach (FoodInformation food in objects) { mainDish = AddToMainDishFactory.CreateAddToMainDish(mainDish, food); } return(mainDish); }
public ToppingsForDinner(IMainDish mainDish) : this() { _mainDish = mainDish; uiLblDinnerName.Text = mainDish.Name(); _actualPrice = mainDish.Price(); uiTxtPrice.Text = _actualPrice.ToString("C", _cultureInfo); _addToMainDishObjects = _toppingsLogic.GetMainDishToppingsObjects(); AddMenu(); }
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); }
// 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); } } }
// 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(); }
public Sauce(IMainDish mainDish, string name, decimal price) { _mainDish = mainDish; _name = name; _price = price; }