Ejemplo n.º 1
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);
        }