public TeaDecorator(IDrink drink, string blendname) : base(drink) { Drink = drink; teadrink = new Tea(); teaBlendRepository = new TeaBlendRepository(); if (blendname != null) { teadrink.Blend = teaBlendRepository.GetTeaBlend(blendname); } }
public DrinkFactory() { var teaBlendFactory = new TeaBlendRepository(); _defaultTeaBlend = teaBlendFactory.GetTeaBlend(teaBlendFactory.BlendNames.FirstOrDefault()); _drinks = new Dictionary <string, IDrink> { ["Coffee"] = new StrengthDrinkDecorator(new Coffee(), strength: Strength.Normal), ["Espresso"] = new Espresso(), ["Capuccino"] = new Capuccino(), ["Wiener Melange"] = new WienerMelange(), ["Café au Lait"] = new CafeAuLait(), ["Tea"] = new TeaAdapter(_defaultTeaBlend) }; //_drinks = MixDrink(); }
public TeaAdapter GetTeaAdapter(string name) { return(new TeaAdapter(teaBlendRepository.GetTeaBlend(name))); }
private void BrewDrink() { IDrink drink; switch (_drinkName) { case "Coffee": drink = new Coffee() { Strength = CoffeeStrength }; break; case "Espresso": drink = new Espresso(); break; case "Capuccino": drink = new Capuccino(); break; case "Wiener Melange": drink = new WienerMelange(); break; case "Café au Lait": drink = new CafeAuLait(); break; case "Chocolate": drink = new Chocolate(); break; case "Chocolate Deluxe": drink = new Chocolate(makeDeluxe: true); break; case "Tea": TeaBlend teaBlend = _teaBlendRepository.GetTeaBlend(SelectedTeaBlendOption); if (_hasSugar) { drink = new TeaDrink(teaBlend, sugeramount: (int)SugarAmount); } else { drink = new TeaDrink(teaBlend); } break; default: drink = _fh.GetBaseDrink(_drinkName); break;; } if (_hasSugar) { drink = new SugarDecorator(drink, _sugarAmount); } if (_hasMilk) { drink = new MilkDecorator(drink, _milkAmount); } SelectedDrink = drink; }
public void SetTeaBlend(string teaBlend) { _teaBlendRepository = new TeaBlendRepository(); this.Blend = _teaBlendRepository.GetTeaBlend(teaBlend); Name = Blend.Name; }
private TeaBlend GetTeaBlend(string name) { return(_teaBlendRepository.GetTeaBlend(name)); }