예제 #1
0
 // methods
 public void AddACanOf(string flavorName)
 {
     if (FlavorOps.HasFlavor(flavorName))
     {
         AddACanOf(FlavorOps.ToFlavor(flavorName));
     }
 }
예제 #2
0
 public void RemoveACanOf(string flavorName)
 {
     if (FlavorOps.HasFlavor(flavorName))
     {
         RemoveACanOf(FlavorOps.ToFlavor(flavorName));
     }
 }
예제 #3
0
        public bool StocksThisFlavor(string requestedFlavorName, ref Flavor selectedFlavor)
        {
            bool stocksThisFlavor = FlavorOps.HasFlavor(requestedFlavorName);

            if (stocksThisFlavor)
            {
                selectedFlavor = FlavorOps.ToFlavor(requestedFlavorName);
            }
            return(stocksThisFlavor);
        }
예제 #4
0
        //Constructor(s)
        public Bin(string flavor)
        {
            Flavor flavorAsType = Flavor.REGULAR;

            if (FlavorOps.HasFlavor(flavor))
            {
                FlavorOps.ToFlavor(flavor);
            }
            Flavor = flavorAsType;
        }
예제 #5
0
        private static Flavor GetFlavorFromUser(CanRack vendingMachine)
        {
            bool   selectionMade;
            Flavor selectedFlavor = Flavor.LEMON;

            do
            {
                WriteLine(vendingMachine.ConsoleInteractiveSelectionPrompt());
                string userSelection = ReadLine();
                try {
                    selectedFlavor = FlavorOps.ToFlavor(userSelection?.ToUpper());
                    selectionMade  = true;
                    if (vendingMachine.IsEmpty(selectedFlavor))
                    {
                        WriteLine($"Sorry, we are out of {selectedFlavor}, please make a different choice.\n");
                        selectionMade = false;
                    }
                } catch (Exception badFlavorException) {
                    WriteLine($"{badFlavorException.Message} Please try again...\n");
                    selectionMade = false;
                }
            } while (!selectionMade);
            return(selectedFlavor);
        }