Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        /**
         * Prompts for and fills in common data for any user classes.
         *
         * Params:
         * type: One of the user models from the UserTypes enum above.
         *       Determines which type of model will be returned.
         *
         * Returns: an initialized instance of the type you passed in
         */
        private static BaseUser ReadUser(BaseUser user)
        {
            Console.WriteLine();

            user.Name   = ReadValidStringFor(user, "Name");
            user.Street = ReadValidStringFor(user, "Street");
            user.City   = ReadValidStringFor(user, "City");
            user.State  = ReadValidStringFor(user, "State");
            user.Zip    = ReadValidIntFor(user, "Zip");

            return(user);
        }
Exemplo n.º 3
0
        public void EditUser()
        {
            var userType = View.UserTypeMenu();

            if (userType == null)
            {
                return;
            }
            BaseUser user = null;

            if (userType == typeof(Member))
            {
                user = View.ReadMemberById("Enter the ID of the member to edit");
            }
            else if (userType == typeof(Provider))
            {
                user = View.ReadProviderById("Enter the ID of the provider to edit");
            }
            else if (userType == typeof(Manager))
            {
                user = View.ReadManagerById("Enter the ID of the manager to edit");
            }
            if (user == null)
            {
                return;
            }
            View.ReadUpdatedPropertiesFor(ref user);
            View.PrintUser(user);
            var save = View.Confirm("Save this information?");

            if (save)
            {
                if (userType == typeof(Member))
                {
                    Member.Collection.Update((Member)user);
                }
                else if (userType == typeof(Provider))
                {
                    Provider.Collection.Update((Provider)user);
                }
                else if (userType == typeof(Manager))
                {
                    Manager.Collection.Update((Manager)user);
                }
                View.PrintSuccess("Record saved.");
            }
            else
            {
                View.PrintError("Abandoning Changes.");
            }
        }
Exemplo n.º 4
0
 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}");
     }
 }