Ejemplo n.º 1
0
        /// <summary>
        /// Prompts the user for an alphabetic value (i.e. a value containing only letters and/or spaces).
        /// </summary>
        /// <param name="prompt">The input prompt.</param>
        /// <returns>Returns the alphabetic value.</returns>
        public static string ReadAlphabeticValue(string prompt)
        {
            string result = null;

            bool found = false;

            while (!found)
            {
                result = ConsoleUtil.ReadStringValue(prompt);

                if (Regex.IsMatch(result, @"^[a-zA-Z ]+$"))
                {
                    found = true;
                }
                else
                {
                    Console.WriteLine(prompt + " must contain only letters or spaces.");
                }
            }

            return(result);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Reads an integer value from the console.
        /// </summary>
        /// <param name="prompt">The text to display before the prompt.</param>
        /// <returns>A value indicating whether or not the out value is being returned successfully.</returns>
        public static int ReadIntValue(string prompt)
        {
            int result = 0;

            string stringValue = result.ToString();

            bool found = false;

            while (!found)
            {
                stringValue = ConsoleUtil.ReadStringValue(prompt);

                if (int.TryParse(stringValue, out result))
                {
                    found = true;
                }
                else
                {
                    Console.WriteLine(prompt + " must be a whole number.");
                }
            }

            return(result);
        }
Ejemplo n.º 3
0
        /// <summary>
        /// Reads an integer value from the console.
        /// </summary>
        /// <param name="prompt">The text to display before the prompt.</param>
        /// <returns>A value indicating whether or not the out value is being returned successfully.</returns>
        public static double ReadDoubleValue(string prompt)
        {
            double result = 0.0;

            string stringValue = result.ToString();

            bool found = false;

            while (!found)
            {
                stringValue = ConsoleUtil.ReadStringValue(prompt);

                if (double.TryParse(stringValue, out result))
                {
                    found = true;
                }
                else
                {
                    Console.WriteLine(prompt + " must be either a whole number or a decimal number.");
                }
            }

            return(result);
        }
Ejemplo n.º 4
0
        /// <summary>
        /// Adds a guest to the zoo.
        /// </summary>
        /// <param name="zoo">The zoo in which to add a guest.</param>
        private static void AddGuest(Zoo zoo)
        {
            // Create a new guest.
            Guest guest = new Guest("Joe", 36, 0, WalletColor.Brown, Gender.Male, new Account());

            // Prompt for guest name.
            bool nameSuccess = false;

            while (!nameSuccess)
            {
                try
                {
                    string guestName = ConsoleUtil.ReadAlphabeticValue("Name");
                    guest.Name = ConsoleUtil.InitialUpper(guestName);

                    nameSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // prompt for guest gender.
            bool genderSuccess = false;

            while (!genderSuccess)
            {
                try
                {
                    guest.Gender = ConsoleUtil.ReadGender();

                    genderSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Prompt for guest age.
            bool ageSuccess = false;

            while (!ageSuccess)
            {
                try
                {
                    guest.Age = ConsoleUtil.ReadIntValue("Age");

                    ageSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Prompt for guest wallet money balance.
            bool walletSuccess = false;

            // CREATED DECIMAL METHOD IN UTIL.
            while (!walletSuccess)
            {
                try
                {
                    guest.Wallet.AddMoney(ConsoleUtil.ReadDecimalValue("Wallet Money Balance"));

                    walletSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Prompt for guest wallet color.
            bool walletColorSuccess = false;

            while (!walletColorSuccess)
            {
                try
                {
                    WalletColor walletColor = ConsoleUtil.ReadWalletColor();

                    walletColorSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Prompt for guest checking account balance.
            bool accountSuccess = false;

            while (!accountSuccess)
            {
                try
                {
                    guest.CheckingAccount.AddMoney(ConsoleUtil.ReadDecimalValue("Account Balance"));

                    accountSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Add the newly created guest to the list after selling them a ticket and a waterbottle. This will subtract $18.00 from the entered money balance.
            zoo.AddGuest(guest, zoo.SellTicket(guest));

            // Show the new animal.
            ShowGuest(zoo, guest.Name);
        }
Ejemplo n.º 5
0
        /// <summary>
        /// Adds an animal to the zoo.
        /// </summary>
        /// <param name="zoo">The zoo in which to add an animal.</param>
        private static void AddAnimal(Zoo zoo)
        {
            // Reads the animal type from the console.
            AnimalType readAnimal = ConsoleUtil.ReadAnimalType();

            // Creates the entered animal type.
            Animal animal = AnimalFactory.CreateAnimal(readAnimal, "Max", 2, 78, Gender.Female) as Animal;

            // Prompt for animal name.
            bool nameSuccess = false;

            while (!nameSuccess)
            {
                try
                {
                    string animalName = ConsoleUtil.ReadAlphabeticValue("Name");
                    animal.Name = ConsoleUtil.InitialUpper(animalName);

                    nameSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // prompt for animal gender.
            bool genderSuccess = false;

            while (!genderSuccess)
            {
                try
                {
                    animal.Gender = ConsoleUtil.ReadGender();

                    genderSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Prompt for animal age.
            bool ageSuccess = false;

            while (!ageSuccess)
            {
                try
                {
                    animal.Age = ConsoleUtil.ReadIntValue("Age");

                    ageSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Prompt for animal weight.
            bool weightSuccess = false;

            while (!weightSuccess)
            {
                try
                {
                    animal.Weight = ConsoleUtil.ReadDoubleValue("Weight");

                    weightSuccess = true;
                }
                catch (Exception ex)
                {
                    Console.WriteLine(ex.Message);
                }
            }

            // Add the newly created animal to the list.
            zoo.AddAnimal(animal);

            // Show the new animal.
            ShowAnimal(zoo, animal.Name);
        }
Ejemplo n.º 6
0
        /// <summary>
        /// Adds a new guest to the zoo.
        /// </summary>
        /// <param name="zoo">The current zoo.</param>
        private static void AddGuest(Zoo zoo)
        {
            bool success = false;

            Guest guest = new Guest(string.Empty, 0, WalletColor.Black, 0m, Gender.Female, new Account());

            if (guest == null)
            {
                throw new NullReferenceException("Guest could not be found.");
            }

            while (!success)
            {
                try
                {
                    string name = ConsoleUtil.ReadAlphabeticValue("Name");

                    guest.Name = ConsoleUtil.InitialUpper(name);
                    success    = true;
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    guest.Gender = ConsoleUtil.ReadGender();
                    success      = true;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    int age = ConsoleUtil.ReadIntValue("Age");

                    guest.Age = age;
                    success   = true;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    double moneyBalance = ConsoleUtil.ReadDoubleValue("Money balance");

                    guest.Wallet.AddMoney((decimal)moneyBalance);
                    success = true;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    guest.Wallet.Color = ConsoleUtil.ReadWalletColor();
                    success            = true;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    double moneyBalance = ConsoleUtil.ReadDoubleValue("Checking account money balance");

                    guest.CheckingAccount.AddMoney((decimal)moneyBalance);
                    success = true;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            Ticket ticket = zoo.SellTicket(guest);

            zoo.AddGuest(guest, ticket);

            ConsoleHelper.ShowGuest(zoo, guest.Name);
        }
Ejemplo n.º 7
0
        /// <summary>
        /// Adds a new animal to the zoo.
        /// </summary>
        /// <param name="zoo">The current zoo.</param>
        private static void AddAnimal(Zoo zoo)
        {
            bool success = false;

            AnimalType animalType = ConsoleUtil.ReadAnimalType();

            Animal animal = AnimalFactory.CreateAnimal(animalType, string.Empty, 0, 1, Gender.Female);

            if (animal == null)
            {
                throw new NullReferenceException("Animal could not be found.");
            }

            while (!success)
            {
                try
                {
                    string name = ConsoleUtil.ReadAlphabeticValue("Name");

                    animal.Name = ConsoleUtil.InitialUpper(name);

                    success = true;
                }
                catch (ArgumentException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    animal.Gender = ConsoleUtil.ReadGender();

                    success = true;
                }
                catch (Exception e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    int age = ConsoleUtil.ReadIntValue("Age");

                    animal.Age = age;
                    success    = true;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            success = false;

            while (!success)
            {
                try
                {
                    double weight = ConsoleUtil.ReadDoubleValue("Weight");

                    animal.Weight = weight;
                    success       = true;
                }
                catch (ArgumentOutOfRangeException e)
                {
                    Console.WriteLine(e.Message);
                }
            }

            zoo.AddAnimal(animal);

            ConsoleHelper.ShowAnimal(zoo, animal.Name);
        }
Ejemplo n.º 8
0
 /// <summary>
 /// Writes help detail for a console command which takes no arguments.
 /// </summary>
 /// <param name="command">The command to write help detail for.</param>
 /// <param name="overview">An overview of the command.</param>
 public static void WriteHelpDetail(string command, string overview)
 {
     ConsoleUtil.WriteHelpDetail(command, overview, null);
 }
Ejemplo n.º 9
0
 /// <summary>
 /// Writes help detail for a console command which takes a single argument.
 /// </summary>
 /// <param name="command">The command to write help detail for.</param>
 /// <param name="overview">An overview of the command.</param>
 /// <param name="argument">The command's argument.</param>
 /// <param name="argumentUsage">A dictionary of each of the arguments and their usage descriptions.</param>
 public static void WriteHelpDetail(string command, string overview, string argument, string argumentUsage)
 {
     ConsoleUtil.WriteHelpDetail(command, overview, new Dictionary <string, string> {
         { argument, argumentUsage }
     });
 }