public void StaffAddMember() { Console.Clear(); Console.Write("==========Add New Member==========\n"); // First Name Console.Write("First Name: "); string firstName = Console.ReadLine(); // Last Name Console.Write("Last Name: "); string lastName = Console.ReadLine(); // Phone Number Console.Write("Phone Number: "); string phoneNumber = Console.ReadLine(); // Address // Property Number Console.Write("\nProperty / House Number: "); string propertyNumber = Console.ReadLine(); // Street Name Console.Write("\nStreet Name: "); string streetName = Console.ReadLine(); // Suburb Console.Write("\nSuburb: "); string suburb = Console.ReadLine(); // State bool stateValidInput = false; State state = State.NSW; // happy compiler happy life Console.Write("\nAllowable states / territories are: "); int stateLength = Enum.GetValues(typeof(State)).Length; for (int i = 0; i < stateLength; i++) { Console.Write(Enum.GetName(typeof(State), i) + " "); } while (!stateValidInput) { Console.Write("\nState: "); string stateInput = Console.ReadLine(); stateValidInput = Enum.TryParse(stateInput, out state); } // Postcode bool pcodeValidInput = false; int postcode = 4000; // happy compiler happy life Console.Write("\nAllowable postcode range is: 0200 - 9999."); while (!pcodeValidInput) { Console.Write("\nPostcode: "); string pcodeInput = Console.ReadLine(); bool pcodeValidParse = int.TryParse(pcodeInput, out postcode); if (pcodeValidParse && postcode >= 200 && postcode <= 9999) { pcodeValidInput = true; } } // Password bool passwordValidInput = false; int password = 0000; // happy compiler happy life while (!passwordValidInput) { Console.Write("\n\nPassword (4 digit number): "); string passwordInput = Console.ReadLine(); bool passwordValidParse = Int32.TryParse(passwordInput, out password); if (passwordValidParse && password >= 0 && password <= 9999) { passwordValidInput = true; } } // Review bool reviewValidInput = false; while (!reviewValidInput) { Console.Clear(); Console.Write("==========Add New Member==========\n" + "Please review the below information to ensure everything is correct.\n" + "\n First Name: " + firstName + "\n Last Name: " + lastName + "\n Phone Number: " + phoneNumber + "\n Property Number: " + propertyNumber + "\n Street Name: " + streetName + "\n Suburb: " + suburb + "\n State: " + state.ToString() + "\n Postcode: " + postcode + "\n\n Username: "******"\n Password: "******"\n\nTo add this member to the database, press Y. To start again, press N."); string reviewChoice = Console.ReadLine(); switch (reviewChoice.ToLower()) { case "y": Console.Clear(); Console.Write("Please wait..."); Address address = new Address(propertyNumber, streetName, suburb, state, postcode); memberCollection.MemberAdd(firstName, lastName, address, phoneNumber, password); StaffMainMenu(); break; case "n": StaffAddMember(); break; } // no need for default as it will loop again if invalid response Console.Beep(); } }