/// <summary>
        /// Event handler for adding a new customer to the database. Performs validation
        /// to check required fields are not blank.
        /// </summary>
        private void btnAdd_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                // Only increment Customer ID if
                // - a customer exists
                // - the current ID matches the previous ID
                // - the current customer ID is less than 50000
                if (customerCount > 0 && prevCustomerID == customerID && customerID < 50000)
                {
                    customerID++;
                }

                Customer customer = new Customer
                {
                    ID               = customerID,
                    FirstName        = txtFirstName.Text,
                    LastName         = txtSurname.Text,
                    EmailAddress     = txtEmailAddress.Text,
                    SkypeID          = txtSkypeID.Text,
                    TelephoneNo      = txtTelephone.Text,
                    PreferredContact = SetContactType()
                };

                // Check perform validation on required fields
                if (customer.Validate() == false)
                {
                    throw new Exception(customer.validationErrors.ToString());
                }

                store.Add(customer);
                // Set the previous customer ID to the one that has been added to store
                prevCustomerID = customerID;
                // Add the customer's ID and name to the ListBox
                listCustomerNames.Items.Add(customer.ID + " " + customer.FirstName + " " + customer.LastName);
                ClearAllFields();

                customerCount++;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }