Ejemplo n.º 1
0
        //TODO: It's not good solution if this method's return type is Egg. It should be void (or maybe bool).
        public Egg Receive(int chickenQuantity, int eggQuantity, object drink)
        {
            if (customerIndex == 8)
            {
                throw new Exception("All customers already gave order!");
            }
            IMenuItem chickenMenuItem = null;

            if (chickenQuantity > 0)
            {
                chickenMenuItem = new Chicken(chickenQuantity);
            }
            tableRequests.Add(customerIndex, chickenMenuItem);

            IMenuItem eggMenuItem = null;

            if (eggQuantity > 0)
            {
                eggMenuItem = new Egg(eggQuantity);
            }
            tableRequests.Add(customerIndex, eggMenuItem);

            IMenuItem drinkMenuItem = null;

            if (drink is Drinks)
            {
                var d = (Drinks)drink;
                if (d == Drinks.Coca_Cola)
                {
                    drinkMenuItem = new Coca_Cola();
                }
                else if (d == Drinks.Juice)
                {
                    drinkMenuItem = new Juice();
                }
                else if (d == Drinks.RC_Cola)
                {
                    drinkMenuItem = new RC_Cola();
                }
                else if (d == Drinks.Tea)
                {
                    drinkMenuItem = new Tea();
                }
            }
            tableRequests.Add(customerIndex, drinkMenuItem);
            customerIndex++;
            if (eggMenuItem is Egg)
            {
                return((Egg)eggMenuItem);
            }
            return(null);
        }
Ejemplo n.º 2
0
        public void Receive(string customerName, int chickenQuantity, int eggQuantity, object drink)
        {
            foreach (var _ in Enumerable.Range(1, chickenQuantity))
            {
                tableRequests.Add <Chicken>(customerName);
            }

            foreach (var _ in Enumerable.Range(1, eggQuantity))
            {
                tableRequests.Add <Egg>(customerName);
            }
            if (drink is Drinks)
            {
                var d = (Drinks)drink;
                if (d == Drinks.Coca_Cola)
                {
                    tableRequests.Add <Coca_Cola>(customerName);
                }
                else if (d == Drinks.Juice)
                {
                    tableRequests.Add <Juice>(customerName);
                }
                else if (d == Drinks.RC_Cola)
                {
                    tableRequests.Add <RC_Cola>(customerName);
                }
                else if (d == Drinks.Tea)
                {
                    tableRequests.Add <Tea>(customerName);
                }
            }

            sendedToCook = chickenQuantity > 0 || eggQuantity > 0 || drink != null;
        }