Google.Protobuf.Examples.AddressBook.AddPerson.PromptForAddress C# (CSharp) Method

PromptForAddress() private static method

Builds a person based on user input
private static PromptForAddress ( TextReader input, TextWriter output ) : Person
input System.IO.TextReader
output System.IO.TextWriter
return Person
        private static Person PromptForAddress(TextReader input, TextWriter output)
        {
            Person person = new Person();

            output.Write("Enter person ID: ");
            person.Id = int.Parse(input.ReadLine());

            output.Write("Enter name: ");
            person.Name = input.ReadLine();

            output.Write("Enter email address (blank for none): ");
            string email = input.ReadLine();
            if (email.Length > 0)
            {
                person.Email = email;
            }

            while (true)
            {
                output.Write("Enter a phone number (or leave blank to finish): ");
                string number = input.ReadLine();
                if (number.Length == 0)
                {
                    break;
                }

                Person.Types.PhoneNumber phoneNumber = new Person.Types.PhoneNumber { Number = number };

                output.Write("Is this a mobile, home, or work phone? ");
                String type = input.ReadLine();
                switch (type)
                {
                    case "mobile":
                        phoneNumber.Type = Person.Types.PhoneType.Mobile;
                        break;
                    case "home":
                        phoneNumber.Type = Person.Types.PhoneType.Home;
                        break;
                    case "work":
                        phoneNumber.Type = Person.Types.PhoneType.Work;
                        break;
                    default:
                        output.Write("Unknown phone type. Using default.");
                        break;
                }

                person.Phones.Add(phoneNumber);
            }
            return person;
        }