コード例 #1
0
ファイル: Program.cs プロジェクト: trentonhicks/AddressBook
        public static void DeleteContact(Collect collect, SQL sql)
        {
            while (true)
            {
                Console.Clear();
                Console.WriteLine("0.=>Previous Menu\n");
                DisplayContactsList(sql);
                var ID = collect.CollectID("\nEnter the ID of the contact you want to delete");

                if (ID != 0)
                {
                    var contact = sql.GetContact(ID);

                    // If contact exists, delete it
                    if (contact != null)
                    {
                        Console.Clear();
                        Console.WriteLine("Are you sure you want to delete?\n Press 1 for Yes: \n Press 2 to cancel: \n");

                        Console.Write("Select: ");

                        var userInput = Console.ReadLine();

                        switch (userInput)
                        {
                        case "1":
                            sql.DeleteFullContact(ID);
                            return;

                        case "2":

                            break;
                        }
                    }
                }
                else
                {
                    return;
                }
            }
        }
コード例 #2
0
ファイル: Program.cs プロジェクト: trentonhicks/AddressBook
        public static void EditAddresses(Collect collect, SQL sql, Contact contact)
        {
            while (true)
            {
                Console.Clear();
                DisplayAddresses(contact);

                Console.WriteLine("\n0.=>Previous Menu");
                Console.WriteLine("\n1.Add a new address");
                Console.WriteLine("\n2.Delete an address");

                Console.Write("\nSelect an option: ");

                var input = Console.ReadLine();

                switch (input)
                {
                case "0":
                    Console.Clear();
                    return;

                case "1":
                    // Store new numbers in a list
                    var addresses = new List <Address>();

                    // Create new number and collect fields
                    var address = new Address()
                    {
                        StreetName = collect.CollectField(fieldName: "Street Name", previousValue: "", required: false),
                        City       = collect.CollectField(fieldName: "City", previousValue: "", required: false),
                        State      = collect.CollectField(fieldName: "State", previousValue: "", required: false),
                        ZipCode    = collect.CollectField(fieldName: "ZipCode", previousValue: "", required: false),
                        Type       = collect.CollectField(fieldName: "Type", previousValue: "", required: false),
                    };

                    addresses.Add(address);

                    // Insert number
                    sql.InsertAddresses(contact, addresses);
                    contact = sql.GetContact(contact.ID);
                    break;

                case "2":
                    Console.Clear();
                    Console.WriteLine("0.=>Previous Menu\n");
                    DisplayAddresses(contact);
                    var id = collect.CollectID("Enter the ID of the address you want to delete");
                    sql.DeleteAddress(contact.ID, id);
                    contact = sql.GetContact(contact.ID);
                    break;

                default:
                    // Check if input is number and output the address ID
                    bool isNumber;
                    isNumber = int.TryParse(input, out int addressID);

                    // Edit existing address if user typed in address ID
                    if (isNumber)
                    {
                        var addressStreetName = collect.CollectField(fieldName: "StreetName", previousValue: contact.Addresses.Find(streetName => streetName.ID == addressID).StreetName, required: false);
                        var addressCity       = collect.CollectField(fieldName: "City", previousValue: contact.Addresses.Find(city => city.ID == addressID).City, required: false);
                        var addressState      = collect.CollectField(fieldName: "State", previousValue: contact.Addresses.Find(state => state.ID == addressID).State, required: false);
                        var addressZipCode    = collect.CollectField(fieldName: "ZipCode", previousValue: contact.Addresses.Find(zipCode => zipCode.ID == addressID).ZipCode, required: false);
                        var addressType       = collect.CollectField(fieldName: "Type", previousValue: contact.Addresses.Find(type => type.ID == addressID).Type, required: false);

                        sql.UpdateStreetName(contact.ID, addressID, addressStreetName);
                        sql.UpdateCity(contact.ID, addressID, addressCity);
                        sql.UpdateState(contact.ID, addressID, addressState);
                        sql.UpdateZipCode(contact.ID, addressZipCode, addressID);
                        sql.UpdateAddressType(contact.ID, addressType, addressID);
                        contact = sql.GetContact(contact.ID);
                    }

                    break;
                }
            }
        }
コード例 #3
0
ファイル: Program.cs プロジェクト: trentonhicks/AddressBook
        public static void EditPhoneNumbers(Collect collect, SQL sql, Contact contact)
        {
            while (true)
            {
                Console.Clear();
                DisplayPhoneNumbers(contact);

                Console.WriteLine("\n\n0.=>Previous Menu");
                Console.WriteLine("\n1.Add a new phone number");
                Console.WriteLine("\n2.Delete a phone number");


                Console.Write("\nSelect an option: ");

                //Console.WriteLine("\nEnter the ID of the number you wish you wish to edit");

                var input = Console.ReadLine();

                switch (input)
                {
                case "0":
                    Console.Clear();
                    return;

                case "1":    //Add number
                    // Store new numbers in a list
                    var phoneNumbers = new List <PhoneNumber>();

                    // Create new number and collect fields
                    var phoneNumber = new PhoneNumber()
                    {
                        Number = collect.CollectField(fieldName: "Number", previousValue: "", required: false),
                        Type   = collect.CollectField(fieldName: "Type", previousValue: "", required: false)
                    };

                    // Add number to list
                    phoneNumbers.Add(phoneNumber);

                    // Insert number
                    sql.InsertPhoneNumbers(contact, phoneNumbers);
                    contact = sql.GetContact(contact.ID);

                    break;

                case "2":    //Delete number
                    Console.Clear();

                    Console.WriteLine("0.=>Previous Menu\n");
                    DisplayPhoneNumbers(contact);

                    var phoneNumberID = collect.CollectID("\nEnter the ID of the phone number you want to delete");
                    sql.DeletePhoneNumber(contact.ID, phoneNumberID);
                    contact = sql.GetContact(contact.ID);
                    break;

                default:
                    // Check if input is number and output the phone number ID
                    bool isNumber;
                    isNumber = int.TryParse(input, out int numberID);

                    // Edit existing number if user typed in phone number ID
                    if (isNumber)
                    {
                        var phoneNumberNumber = collect.CollectField(fieldName: "Number", previousValue: contact.PhoneNumbers.Find(number => number.ID == numberID).Number, required: false);
                        var phoneNumberType   = collect.CollectField(fieldName: "Type", previousValue: contact.PhoneNumbers.Find(type => type.ID == numberID).Type, required: false);
                        sql.UpdatePhoneNumber(contact.ID, numberID, phoneNumberNumber, phoneNumberType);
                        contact = sql.GetContact(contact.ID);
                    }

                    break;
                }
            }
        }
コード例 #4
0
ファイル: Program.cs プロジェクト: trentonhicks/AddressBook
        public static void EditEmails(Collect collect, SQL sql, Contact contact)
        {
            while (true)
            {
                Console.Clear();
                DisplayEmails(contact);

                Console.WriteLine("\n0.=>Previous Menu");
                Console.WriteLine("\n1.Add a new email");
                Console.WriteLine("\n2.Delete an email");


                Console.Write("\nSelect an option: ");

                var input = Console.ReadLine();

                switch (input)
                {
                case "0":
                    Console.Clear();
                    return;

                case "1":
                    // Store new numbers in a list
                    var emails = new List <Email>();

                    // Create new number and collect fields
                    var email = new Email()
                    {
                        Text = collect.CollectField(fieldName: "Text", previousValue: "", required: false),
                        Type = collect.CollectField(fieldName: "Type", previousValue: "", required: false)
                    };

                    emails.Add(email);

                    // Insert number
                    sql.InsertEmails(contact, emails);     // check insertemails
                    contact = sql.GetContact(contact.ID);
                    break;

                case "2":
                    Console.Clear();
                    Console.WriteLine("0.=>Previous Menu\n");
                    DisplayEmails(contact);
                    var deleteEmailID = collect.CollectID("\nEnter the ID of the email you want to delete");
                    sql.DeleteEmail(contact.ID, deleteEmailID);
                    contact = sql.GetContact(contact.ID);
                    break;

                default:
                    // Check if input is number and output the email ID
                    bool isNumber;
                    isNumber = int.TryParse(input, out int emailID);

                    // Edit existing email if user typed in email ID
                    if (isNumber)
                    {
                        var emailText = collect.CollectField(fieldName: "text", previousValue: contact.Emails.Find(text => text.ID == emailID).Text, required: false);
                        var emailType = collect.CollectField(fieldName: "Type", previousValue: contact.Emails.Find(type => type.ID == emailID).Type, required: false);
                        sql.UpdateEmail(contact.ID, emailID, emailText, emailType);
                        contact = sql.GetContact(contact.ID);
                    }

                    break;
                }
            }
        }
コード例 #5
0
ファイル: Program.cs プロジェクト: trentonhicks/AddressBook
        public static void EditContact(Collect collect, SQL sql)
        {
            Console.WriteLine("0.=>Previous Menu\n");

            DisplayContactsList(sql);


            var ID = collect.CollectID("\nEnter ID of contact you'd like to edit"); //no option to go back

            // Get contact
            var contact = sql.GetContact(ID);

            // Check if contact exists
            if (contact != null)
            {
                // Edit contact
                while (true)
                {
                    Console.Clear();

                    //display
                    Console.WriteLine("0.=>Previous Menu");
                    Console.WriteLine($"\n1.First Name: {contact.FirstName}");
                    Console.WriteLine($"2.Last Name: {contact.LastName}");
                    Console.WriteLine($"3.Phone Numbers: {contact.FirstName} has {contact.PhoneNumbers.Count} number(s)");
                    Console.WriteLine($"4.Emails: {contact.FirstName} has {contact.Emails.Count} email(s)");
                    Console.WriteLine($"5.Addresses: {contact.FirstName} has {contact.Addresses.Count} address(es)");

                    Console.Write("\nSelect an option: ");
                    var input = Console.ReadLine();

                    //adding input to database once case is declared.
                    switch (input)
                    {
                    case "0":
                        return;

                    case "1":
                        contact.FirstName = collect.CollectField(fieldName: "First Name", previousValue: contact.FirstName, required: true);
                        sql.UpdateFirstName(contact.ID, contact.FirstName);
                        break;

                    case "2":
                        contact.LastName = collect.CollectField(fieldName: "Last Name", previousValue: contact.LastName, required: false);
                        sql.UpdateLastName(contact.ID, contact.LastName);
                        break;

                    case "3":
                        contact = sql.GetContact(contact.ID);
                        EditPhoneNumbers(collect, sql, contact);
                        break;

                    case "4":
                        contact = sql.GetContact(contact.ID);
                        EditEmails(collect, sql, contact);
                        break;

                    case "5":
                        contact = sql.GetContact(contact.ID);
                        EditAddresses(collect, sql, contact);
                        break;
                    }
                }
            }

            // Contact doesn't exist
            else
            {
                Console.WriteLine("Contact doesn't exist");
            }
        }