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();
        }
Exemplo n.º 3
0
 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;
        }
Exemplo n.º 5
0
 public void SetTeaBlend(string teaBlend)
 {
     _teaBlendRepository = new TeaBlendRepository();
     this.Blend          = _teaBlendRepository.GetTeaBlend(teaBlend);
     Name = Blend.Name;
 }
Exemplo n.º 6
0
 private TeaBlend GetTeaBlend(string name)
 {
     return(_teaBlendRepository.GetTeaBlend(name));
 }