public void ReadUpdatedPropertiesFor(ref BaseUser user) { var maxChoice = 5; var choice = -1; do { Console.WriteLine("Current data:"); Console.Write(user.ToString()); Console.WriteLine("-------------"); Console.WriteLine("Change which field?"); Console.WriteLine("1. Name"); Console.WriteLine("2. Street"); Console.WriteLine("3. City"); Console.WriteLine("4. State"); Console.WriteLine("5. Zip"); if (user.GetType() == typeof(Member)) { Console.WriteLine("6. Suspension Status"); maxChoice = 6; } Console.WriteLine("0. (Done)"); choice = ReadInt("Your choice"); switch (choice) { case 1: var name = ReadValidStringFor(user, "Name"); user.Name = name; break; case 2: var street = ReadValidStringFor(user, "Street"); user.Street = street; break; case 3: var city = ReadValidStringFor(user, "City"); user.City = city; break; case 4: var state = ReadValidStringFor(user, "State"); user.State = state; break; case 5: var zip = ReadValidIntFor(user, "Zip"); user.Zip = zip; break; case 6: ((Member)user).Suspended = !((Member)user).Suspended; break; } } while (choice > 0 && choice < maxChoice + 1); }
public void PrintUser(BaseUser user) { Console.WriteLine($"Name: {user.Name}"); Console.WriteLine("Address:"); Console.WriteLine($" Street: {user.Street}"); Console.WriteLine($" City: {user.City}"); Console.WriteLine($" State: {user.State}"); Console.WriteLine($" Zip: {user.Zip}"); if (user.GetType() == typeof(Member)) { var suspended = ((Member)user).Suspended ? "yes" : "no"; Console.WriteLine($"Suspended: {suspended}"); } }