Ejemplo n.º 1
0
 public string HandleOrder(CustomerOrder order, decimal payment)
 {
     if (!IsSufficientPayment(order, payment))
     {
         var shortfall = _priceList.Drinks[order.Item] - payment;
         return(_translator.ConvertMessage(shortfall));
     }
     if (_checker.isEmpty(order.Item.ToString()))
     {
         _notifier.NotifyMissingDrink(order.Item.ToString());
         return(_translator.ConvertMessage(order.Item.ToString()));
     }
     _salesRegister.AddSales(order.Item);
     return(_translator.TranslateOrder(order));
 }
Ejemplo n.º 2
0
        public static string CreateDrink(string order)
        {
            string[] ingredients = order.Split(':');
            // Check is machine is empty
            if (checker.IsEmpty(ingredients[0]))
            {
                notifier.NotifyMissingDrink(order);
                return("No more drinks avaible");
            }

            StringBuilder stringBuilder = new StringBuilder("Drink maker ");

            // Adding drink
            switch (ingredients[0])
            {
            case "C":
                stringBuilder.Append("makes 1 coffee ");
                report.NbCoffee++;
                break;

            case "Ch":
                stringBuilder.Append("will make an extra hot coffee ");
                report.NbHotCoffee++;
                break;

            case "O":
                report.NbOrangeJuice++;
                return(stringBuilder.Append("will make one orange juice").ToString());

            case "T":
                report.NbTea++;
                stringBuilder.Append("makes 1 tea ");
                break;

            case "H":
                report.NbChocolate++;
                stringBuilder.Append("makes 1 chocolate ");
                break;

            case "Hh":
                report.NbHotChocolate++;
                stringBuilder.Append("will make an extra hot chocolate ");
                break;

            case "Th":
                report.NbHotTea++;
                stringBuilder.Append("will make an extra hot tea ");
                break;

            default:
                return("Bad order");
            }

            // Adding sugar
            int nbSugar = 0;

            Int32.TryParse(ingredients[1], out nbSugar);
            if (ingredients[0].Length > 1)
            {
                stringBuilder.Append("with " + numbers[nbSugar] + " sugar");
            }
            else if (nbSugar > 0)
            {
                stringBuilder.Append("with " + nbSugar + " sugar" + ((nbSugar > 1)? "s" : ""));
            }
            else
            {
                stringBuilder.Append("with no sugar");
            }

            // Adding stick
            if (ingredients[2] == "0")
            {
                stringBuilder.Append(" and a stick");
            }
            else if (ingredients[0].Length < 2)
            {
                stringBuilder.Append(" and no stick");
            }

            return(stringBuilder.ToString());
        }