/// <summary>
 /// Metodo que guarda una cita
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void btn_guardarCita_Click(object sender, EventArgs e)
 {
     if (string.IsNullOrWhiteSpace(txt_CedulaUsuario.Text) || string.IsNullOrWhiteSpace(txt_nombreUsuario.Text) ||
         string.IsNullOrWhiteSpace(txt_telefonoUsuario.Text) || string.IsNullOrWhiteSpace(txt_detalleCita.Text))
     {
         MessageBox.Show("Hay Uno o mas Campos Vacios!", "Campos Vacios!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
     }
     else
     {
         try {
             using (GestorCita Cita = new GestorCita())
             {
                 string cedula = txt_CedulaUsuario.Text;
                 this.dsCitas = Cita.ConsultarCitaCedula(cedula);
                 this.dtCitas = this.dsCitas.Tables[0];
                 if (dtCitas.Rows.Count > 0)
                 {
                     MessageBox.Show("Ya existe un usuario con esa cedula, intente de nuevo", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                     limpiarCedula();
                 }
                 else
                 {
                     if (dtpFechaCita.Value < DateTime.Now)
                     {
                         MessageBox.Show("La fecha debe ser una posterior a la fecha actual", "Fallo", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                     }
                     else
                     {
                         Cita.InsertarCita(txt_CedulaUsuario.Text, txt_nombreUsuario.Text, txt_telefonoUsuario.Text, txt_detalleCita.Text, dtpFechaCita.Value, "A");
                         bloquearCamposCita();
                         MessageBox.Show("Datos Registrados satisfactoriamente", "EXITO", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                         gbx_datosCita.Visible = false;
                         limpiarCamposCita();
                         cargarGridCitas();
                         cargarGridCitasRecientes();
                         grb_menuCita.Visible = true;
                     }
                 }
             }
         }
         catch (Exception x)
         {
             MessageBox.Show("Error de SQL: " + x.Message);
         }
     }
 }
        /// <summary>
        /// Metodo que busca una cita independientemente de la opcion de busqueda de acuerdo a los radiobutton
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btn_buscarCita_Click(object sender, EventArgs e)
        {
            buscar = txt_valor_Cita.Text;
            txt_CedulaUsuario.Enabled = false;
            btn_guardarCita.Visible   = false;
            lbl_guardarCita.Visible   = false;

            using (GestorCita Cita = new GestorCita())
            {
                if (string.IsNullOrWhiteSpace(txt_valor_Cita.Text))
                {
                    MessageBox.Show("Hay Uno o mas Campos Vacios!", "Campos Vacios!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                }
                else
                {
                    if (rbtn_CedulaCita.Checked == true)
                    {
                        this.dsCitas = Cita.ConsultarCitaCedula(txt_valor_Cita.Text.Trim());
                        this.dtCitas = this.dsCitas.Tables[0];

                        if (dtCitas.Rows.Count > 0)
                        {
                            if (!Regex.IsMatch(buscar, @"^[\p{L}]+$"))
                            {
                                CargarDatosCita();
                                txt_CedulaUsuario.Enabled = false;
                                gbx_datosCita.Visible     = true;
                                btn_EliminarCita.Visible  = true;
                                lbl_editarCita.Visible    = true;
                                lbl_eliminarCita.Visible  = true;
                                btn_EditarCita.Visible    = true;
                                gbx_datosCita.Enabled     = true;
                                txt_valor_Cita.Text       = "";
                            }
                            else
                            {
                                MessageBox.Show("Solo permiten numeros(Cedula), cambie la seleccion de busqueda!", "Error de busqueda!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                txt_valor_Cita.Text = "";
                            }
                        }
                        else
                        {
                            MessageBox.Show("El valor de busqueda no existe!", "Error de busqueda!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                            txt_valor_Cita.Text = "";
                        }
                    }
                    else
                    {
                        if (rbtn_nombreCita.Checked == true)
                        {
                            this.dsCitas = Cita.ConsultarCitaNombre(txt_valor_Cita.Text.Trim());
                            this.dtCitas = this.dsCitas.Tables[0];

                            if (dtCitas.Rows.Count > 0)
                            {
                                if (!Regex.IsMatch(buscar, @"[A-Z][a-zA-Z\s\'-]*"))
                                {
                                    CargarDatosCita();
                                    gbx_datosCita.Visible    = true;
                                    btn_EliminarCita.Visible = true;
                                    btn_EditarCita.Visible   = true;
                                    lbl_editarCita.Visible   = true;
                                    lbl_eliminarCita.Visible = true;
                                    gbx_datosCita.Enabled    = true;
                                    txt_valor_Cita.Text      = "";
                                }
                                else
                                {
                                    MessageBox.Show("Solo se permiten letras(Nombre), cambie la seleccion de busqueda!", "Error de busqueda!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                    txt_valor_Cita.Text = "";
                                }
                            }
                            else
                            {
                                MessageBox.Show("El valor de busqueda no existe!", "Error de busqueda!!", MessageBoxButtons.OK, MessageBoxIcon.Exclamation);
                                txt_valor_Cita.Text = "";
                            }
                        }
                    }
                }
            }
        }