// pb para modificar los numeros de los comboxes
 private void pbModificarCelular_Click(object sender, EventArgs e)
 {
     if (!txtCelular.Visible && cbCelular.Text != string.Empty)
     {
         cbCelular.Visible  = false;
         txtCelular.Visible = true;
         txtCelular.Text    = cbCelular.Text;
         txtCelular.Focus();
     }
     else if (txtCelular.Visible)
     {
         if (txtCelular.MaskCompleted)
         {
             try {
                 // validar que no este registrado en un cotacto diferente
                 if (Phones.validatePhoneDiff(pContact.id, txtCelular.Text))
                 {
                     if (MessageBox.Show(Phones.getContactNameDiff(pContact.id, txtCelular.Text) + "¿DESEA REGISTRAR EL NUMERO?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                     {
                         // validar que no este registrado en el mismo contacto
                         if (Phones.validatePhoneSame(pContact.id, txtCelular.Text))
                         {
                             MessageBox.Show(Phones.getContactNameSame(pContact.id, txtCelular.Text), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                         }
                         else
                         {
                             MessageBox.Show(Phones.modifyPhone(pContact.id, pPhone.codigo, txtCelular.Text, "celular"), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             loadNumbers();
                             setVisibleTrueComboBoxes();
                         }
                     }
                 }
                 else
                 {
                     if (Phones.validatePhoneSame(pContact.id, txtCelular.Text))
                     {
                         MessageBox.Show(Phones.getContactNameSame(pContact.id, txtCelular.Text), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                     }
                     else
                     {
                         MessageBox.Show(Phones.modifyPhone(pContact.id, pPhone.codigo, txtCelular.Text, "celular"), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         loadNumbers();
                         setVisibleTrueComboBoxes();
                     }
                 }
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else
         {
             MessageBox.Show("No se ha completado el numero de celular", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             txtCelular.Focus();
         }
     }
 }
 private void pbAnadirNuevoCasa_Click(object sender, EventArgs e)
 {
     if (!txtCasa.Visible)
     {
         txtCasa.Visible = true;
         cbCasa.Visible  = false;
         txtCasa.Focus();
     }
     else
     {
         if (txtCasa.MaskCompleted)
         {
             try
             {
                 // validar que no este registrado en un cotacto diferente
                 if (Phones.validatePhoneDiff(pContact.id, txtCasa.Text))
                 {
                     if (MessageBox.Show(Phones.getContactNameDiff(pContact.id, txtCasa.Text) + "¿DESEA REGISTRAR EL NUMERO?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                     {
                         // validar que no este registrado en el mismo contacto
                         if (Phones.validatePhoneSame(pContact.id, txtCasa.Text))
                         {
                             MessageBox.Show(Phones.getContactNameSame(pContact.id, txtCasa.Text), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                         }
                         else
                         {
                             MessageBox.Show(Phones.addNewPhone(pContact.id, txtCasa.Text, "casa"), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                             loadNumbers();
                             setVisibleTrueComboBoxes();
                         }
                     }
                 }
                 else
                 {
                     if (Phones.validatePhoneSame(pContact.id, txtCasa.Text))
                     {
                         MessageBox.Show(Phones.getContactNameSame(pContact.id, txtCasa.Text), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                     }
                     else
                     {
                         MessageBox.Show(Phones.addNewPhone(pContact.id, txtCasa.Text, "casa"), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                         loadNumbers();
                         setVisibleTrueComboBoxes();
                     }
                 }
             }
             catch (Exception ex)
             {
                 MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
             }
         }
         else
         {
             MessageBox.Show("El numero de la casa no esta completo", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
             txtCasa.Focus();
         }
     }
 }
        // boton registrar
        private void btnRegistrar_Click(object sender, EventArgs e)
        {
            // validar si los campos importantes ya fueron completados
            if (txtNombre.Text == string.Empty)
            {
                MessageBox.Show("El Nombre esta vacio", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtNombre.Focus();
            }
            else if (txtApellido.Text == string.Empty)
            {
                MessageBox.Show("El Apellido esta vacio", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtApellido.Focus();
            }
            else if (txtCorreo.Text == string.Empty)
            {
                MessageBox.Show("El Correo esta vacio", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                txtCorreo.Focus();
            }
            else if (FilePathFotoDestiny == null)
            {
                MessageBox.Show("No se ha seleccionado una imagen", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                btnAnadirImagen.Focus();
            }
            else if (txtTrabajo.Text == txtCelular.Text || txtCelular.Text == txtCasa.Text || txtTrabajo.Text == txtCasa.Text)
            {
                MessageBox.Show("Los numeros de telefono a registrar son iguales", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            // si todos los campos fueron completados
            else
            {
                try
                {
                    // validar si el contacto existe
                    if (Contact.Validate(txtNombre.Text, txtApellido.Text))
                    {
                        MessageBox.Show("Ya hay un Contacto Registrado con ese nombre y apellido", "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Warning);
                    }
                    // si el contacto no existe
                    else
                    {
                        Contact pInfoContact = new Contact();
                        pInfoContact.name     = txtNombre.Text;
                        pInfoContact.lastName = txtApellido.Text;
                        pInfoContact.Email    = txtCorreo.Text;
                        pInfoContact.idImage  = 0;

                        MessageBox.Show(Contact.registerContact(pInfoContact), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        pContact = Contact.getInfoContact(txtNombre.Text, txtApellido.Text);

                        if (txtCasa.MaskCompleted)
                        {
                            if (Phones.validatePhoneDiff(0, txtCasa.Text))
                            {
                                if (MessageBox.Show(Phones.getContactNameDiff(pContact.id, txtCasa.Text) + "\n ¿DESEA REGISTRAR EL NUMERO DE LA CASA?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) == DialogResult.Yes)
                                {
                                    Phones.addNewPhone(pContact.id, txtCasa.Text, "casa");
                                }
                            }
                            else
                            {
                                Phones.addNewPhone(pContact.id, txtCasa.Text, "casa");
                            }
                        }

                        if (txtCelular.MaskCompleted)
                        {
                            if (Phones.validatePhoneSame(pContact.id, txtCelular.Text))
                            {
                                MessageBox.Show(Phones.getContactNameSame(pContact.id, txtCelular.Text), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Question);
                            }
                            else
                            {
                                if (Phones.validatePhoneDiff(pContact.id, txtCelular.Text))
                                {
                                    if (MessageBox.Show(Phones.getContactNameDiff(pContact.id, txtCelular.Text) + "\n ¿DESEA REGISTRAR EL NUMERO DEL CELULAR?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                                    {
                                        Phones.addNewPhone(pContact.id, txtCelular.Text, "celular");
                                    }
                                }
                                else
                                {
                                    Phones.addNewPhone(pContact.id, txtCelular.Text, "celular");
                                }
                            }
                        }

                        if (txtTrabajo.MaskCompleted)
                        {
                            if (Phones.validatePhoneSame(pContact.id, txtTrabajo.Text))
                            {
                                MessageBox.Show(Phones.getContactNameSame(pContact.id, txtTrabajo.Text), "Mensaje", MessageBoxButtons.OK, MessageBoxIcon.Question);
                            }
                            else
                            {
                                if (Phones.validatePhoneDiff(pContact.id, txtTrabajo.Text))
                                {
                                    if (MessageBox.Show(Phones.getContactNameDiff(pContact.id, txtTrabajo.Text) + "\n ¿DESEA REGISTRAR EL NUMERO DEL TRABAJO?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                                    {
                                        Phones.addNewPhone(pContact.id, txtTrabajo.Text, "trabajo");
                                    }
                                }
                                else
                                {
                                    Phones.addNewPhone(pContact.id, txtTrabajo.Text, "trabajo");
                                }
                            }
                        }

                        if (FilePathFotoDestiny != null)
                        {
                            File.Copy(FilePathFotoSource, FilePathFotoDestiny, true);
                            Pictures.registerImage(FilePathFotoDestiny, pContact.id);
                        }


                        // pregunto al usuario si va a seguir en el mismo contacto
                        if (MessageBox.Show("Desea seguir con el mismo contacto?", "Mensaje", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            // hago visible los comboxes para guardar los numeros del contacto.
                            setVisibleTrueComboBoxes();
                            // hago visibles los pbes para poder anadir o modificar los numeros
                            setVisibleTruePBforNumbers();
                            // se cargan los numeros ya registrados
                            loadNumbers();
                            // se cargad las fotos
                            loadImages();
                        }
                        else
                        {
                            cleanEverything();
                        }
                    }
                }
                catch (Exception ex)
                {
                    MessageBox.Show(ex.Message, Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }