Ejemplo n.º 1
0
        /*
         *  1. Add the required classes to make the following code compile.
         *  HINT: Use a Dictionary in the AddressBook class to store Contacts. The key should be the contact's email address.
         *
         *  2. Run the program and observe the exception.
         *
         *  3. Add try/catch blocks in the appropriate locations to prevent the program from crashing
         *      Print meaningful error messages in the catch blocks.
         */

        static void Main(string[] args)
        {
            // Create a few contacts
            Contact bob = new Contact()
            {
                FirstName = "Bob", LastName = "Smith",
                Email     = "*****@*****.**",
                Address   = "100 Some Ln, Testville, TN 11111"
            };
            Contact sue = new Contact()
            {
                FirstName = "Sue", LastName = "Jones",
                Email     = "*****@*****.**",
                Address   = "322 Hard Way, Testville, TN 11111"
            };
            Contact juan = new Contact()
            {
                FirstName = "Juan", LastName = "Lopez",
                Email     = "*****@*****.**",
                Address   = "888 Easy St, Testville, TN 11111"
            };

            Contact guy = new Contact()
            {
                FirstName = "guy", Email = "*****@*****.**",
            };

            // Contact guy = new Contact("Guy","Cherkesky","*****@*****.**", "somewhere");

            // Contact guy2 = new Contact(){
            //     FirstName = "Guy", LastName = "Cherkesky",
            //     Email = "*****@*****.**",
            //     Address = "somewhere2"
            // }


            // Create an AddressBook and add some contacts to it
            AddressBook addressBook = new AddressBook();

            addressBook.AddContact(bob);
            addressBook.AddContact(sue);
            addressBook.AddContact(juan);

            // Try to addd a contact a second time
            try {
                addressBook.AddContact(sue);
            }
            catch (ArgumentException)
            {
                Console.WriteLine($"There was a problem adding this contact");
            }

            // Create a list of emails that match our Contacts
            List <string> emails = new List <string>()
            {
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**",
            };

            // Insert an email that does NOT match a Contact
            emails.Insert(1, "*****@*****.**");


            //  Search the AddressBook by email and print the information about each Contact

            foreach (string email in emails)
            {
                try
                {
                    Contact contact = addressBook.GetByEmail(email);
                    Console.WriteLine("----------------------------");
                    Console.WriteLine($"Name: {contact.FullName}");
                    Console.WriteLine($"Email: {contact.Email}");
                    Console.WriteLine($"Address: {contact.Address}");
                }
                catch (KeyNotFoundException)
                {
                    Console.WriteLine($"The email {email} was not found in the address book.");
                }
            }
        }
Ejemplo n.º 2
0
        /*
         *  1. Add the required classes to make the following code compile.
         *  HINT: Use a Dictionary in the AddressBook class to store Contacts. The key should be the contact's email address.
         *
         *  2. Run the program and observe the exception.
         *
         *  3. Add try/catch blocks in the appropriate locations to prevent the program from crashing
         *      Print meaningful error messages in the catch blocks.
         */

        static void Main(string[] args)
        {
            // Create a few contacts
            Contact bob = new Contact()
            {
                FirstName = "Bob",
                LastName  = "Smith",
                Email     = "*****@*****.**",
                Address   = "100 Some Ln, Testville, TN 11111"
            };
            Contact sue = new Contact()
            {
                FirstName = "Sue",
                LastName  = "Jones",
                Email     = "*****@*****.**",
                Address   = "322 Hard Way, Testville, TN 11111"
            };
            Contact juan = new Contact()
            {
                FirstName = "Juan",
                LastName  = "Lopez",
                Email     = "*****@*****.**",
                Address   = "888 Easy St, Testville, TN 11111"
            };


            // Create an AddressBook and add some contacts to it
            AddressBook addressBook = new AddressBook();

            addressBook.AddContact(bob);
            addressBook.AddContact(sue);
            addressBook.AddContact(juan);

            // Try to addd a contact a second time
            addressBook.AddContact(sue);


            // Create a list of emails that match our Contacts
            List <string> emails = new List <string>()
            {
                "*****@*****.**",
                "*****@*****.**",
                "*****@*****.**",
            };

            // Insert an email that does NOT match a Contact
            emails.Insert(1, "*****@*****.**");


            //  Search the AddressBook by email and print the information about each Contact
            foreach (string email in emails)
            {
                try
                {
                    Contact contact = addressBook.GetByEmail(email);
                    Console.WriteLine("----------------------------");
                    Console.WriteLine($"Name: {contact.FullName}");
                    Console.WriteLine($"Email: {contact.Email}");
                    Console.WriteLine($"Address: {contact.Address}");
                }
                catch
                {
                    Console.WriteLine($"Couldn't find contact by the email {email}");
                }
            }
        }