protected override Pizza CreatePizza(string type) { Pizza pizza = null; IPizzaIngredientFactory ingredientFactory = new CaliforniaPizzaIngredientFactory(); if (type == "cheese") { pizza = new CheesePizza(ingredientFactory); pizza.Name = "California Style Cheese Pizza"; } else if (type == "pepperoni") { pizza = new VeggiePizza(ingredientFactory); pizza.Name = "California Style Veggie Pizza"; } else if (type == "clam") { pizza = new ClamPizza(ingredientFactory); pizza.Name = "California Style Clam Pizza"; } else if (type == "veggie") { pizza = new VeggiePizza(ingredientFactory); pizza.Name = "California Style Veggie Pizza"; } return(pizza); }
public override Pizza CreatePizza(EnumTypePizza type) { Pizza pizza = null; IPizzaIngredientFactory ingredientFactory = new CaliforniaPizzaIngredientFactory(); switch (type) { case EnumTypePizza.Cheese: pizza = new CheesePizza(ingredientFactory); pizza.Name = nameof(CheesePizza); break; case EnumTypePizza.Greek: pizza = new GreekPizza(ingredientFactory); pizza.Name = nameof(GreekPizza); break; case EnumTypePizza.Pepperoni: pizza = new PepperoniPizza(ingredientFactory); pizza.Name = nameof(PepperoniPizza); break; case EnumTypePizza.Clam: pizza = new ClamPizza(ingredientFactory); pizza.Name = nameof(ClamPizza); break; case EnumTypePizza.Veggies: pizza = new VeggiesPizza(ingredientFactory); pizza.Name = nameof(VeggiesPizza); break; default: throw new ApplicationException($"Type {type} not implemented."); } return(pizza); }