private void AddSubItemClickHandler(object sender, EventArgs e) { Beverage obj = null; switch (((Button)sender).Name) { case "buttonMilkSoy": obj = new MilkSoyDecorator(_lastBeverageAdded); break; case "buttonMilkSkim": obj = new MilkSkimDecorator(_lastBeverageAdded); break; case "buttonMilk1": obj = new Milk1Decorator(_lastBeverageAdded); break; case "buttonMilk2": obj = new Milk2Decorator(_lastBeverageAdded); break; case "buttonMilkWhole": obj = new MilkWholeDecorator(_lastBeverageAdded); break; case "buttonFlavorCaramel": obj = new CaramelDecorator(_lastBeverageAdded); break; case "buttonFlavorHazelnut": obj = new HazelnutSyrupDecorator(_lastBeverageAdded); break; case "buttonDecaf": obj = new DecafDecorator(_lastBeverageAdded); break; default: // TODO - Need to catch this somewhere and display throw new ArgumentNullException("Unknown Sub-Item Selected"); } AddSubItem(_lastItemNodeAdded, obj); }
public DoubleShortAndCaramelDecorator(BeverageComponent beverageComponent) { if (beverageComponent == null) { this._beverageComponent = new ConcreteEspress(); } _caramelDecorator = new CaramelDecorator(this._beverageComponent); _doubleShortDecorator = new DoubleShortDecorator(this._beverageComponent); }