// Using List casting, just to exercise public List <Product> Deliver(ProductsNames productName) { Random _rnd = new Random(); var quantity = _rnd.Next(3); List <Product> _goods = new List <Product> { }; for (int i = 0; i <= quantity; i++) { switch (productName) { case ProductsNames.Apple: _goods.Add(new Apple()); break; case ProductsNames.Kombucha: _goods.Add(new Kombucha()); break; case ProductsNames.Salad: _goods.Add(new Salad()); break; } } return(_goods); }
public static Product CreateProduct(ProductsNames productType) { switch (productType) { case ProductsNames.Water: return(new Water(20, ProductsGroups.Drink, new List <Supplement> { new Suggar(10) })); case ProductsNames.Espresso: return(new Espresso(50, ProductsGroups.Drink, new List <Supplement> { new Syrup(10), new Milk(15), new Suggar(10) })); case ProductsNames.Latte: return(new Latte(70, ProductsGroups.Drink, new List <Supplement> { new Syrup(10), new Suggar(10) })); case ProductsNames.Cappuccino: return(new Cappuccino(80, ProductsGroups.Drink, new List <Supplement> { new Syrup(10), new Suggar(10) })); case ProductsNames.BlackTea: return(new BlackTea(25, ProductsGroups.Drink, new List <Supplement> { new Milk(15), new Suggar(10) })); case ProductsNames.GreenTea: return(new GreenTea(25, ProductsGroups.Drink, new List <Supplement> { new Milk(15), new Suggar(10) })); case ProductsNames.Bread: return(new Bread(10, ProductsGroups.Food, new List <Supplement> { new Cheese(18), new Ham(25), new Jam(10) })); case ProductsNames.Bun: return(new Bun(10, ProductsGroups.Food, new List <Supplement> { new Cheese(18), new Ham(25), new Jam(10) })); case ProductsNames.Chips: return(new Chips(45, ProductsGroups.Food)); case ProductsNames.Cookies: return(new Cookies(29, ProductsGroups.Food, new List <Supplement> { new Jam(10) })); default: throw new ArgumentException("This is unknown product type."); } }