//constructor sobrecargado
        public GestionClientes(string nombre, string dni, string apell, string telef, string mail, string direc, string ciu, string prov, string tarifa, string sexo, string nombrebotonguardar)
        {
            //lo uso yo para editar un usuario a partir del formulario clientebuscar

            InitializeComponent();

            //////////Para rellenar TListBoxCoches con los coches que ha alquilado el cliente.
            DataSet vehi = new DataSet();
            EN.ENReservas enVehi = new EN.ENReservas();
            string dnicadena = "FK_Cliente ='"+dni+"'";
            vehi = enVehi.ObtenerReservas(dnicadena);

            if (vehi.Tables["Reservas"].Rows.Count > 0)
            {
                TTextBoxNumeroReservas.Text = vehi.Tables["Reservas"].Rows.Count.ToString();
                for (int i = 0; i < vehi.Tables["Reservas"].Rows.Count; i++)
                {
                   // MessageBox.Show(vehi.Tables["Reservas"].Rows[i][2].ToString());
                    TListBoxCoches.Items.Add(vehi.Tables["Reservas"].Rows[i][2].ToString());
                }
            }
            else
                TTextBoxNumeroReservas.Text = "0";

            TGroupBoxCliente.Size = new Size(581, 334);
            TLabelVehiculosAlquiler.Visible = true;
            TListBoxCoches.Visible = true;
            TLabelNumeroReserva.Visible = true;
            TTextBoxNumeroReservas.Visible = true;
            TTextBoxNumeroReservas.Enabled = false;
            TListBoxCoches.Enabled = false;
            /////////////

            TTextBoxDNI.Enabled = false;
            TTextBoxNombre.Text = nombre;
            TTextBoxApellidos.Text = apell;
            TTextBoxDNI.Text = dni;
            TTextBoxTelefono.Text = telef;
            TTextBoxEmail.Text = mail;
            TTextBoxDireccion.Text = direc;

            TComboBoxProvincias.Items.Add(prov);
            TComboBoxProvincias.SelectedIndex = 0;
            TComboBoxCiudades.Items.Add(ciu);
            TComboBoxCiudades.SelectedIndex = 0;
            textoProvincia = TComboBoxProvincias.Text;

            TComboBoxTarifa.Items.Add(tarifa);
            TComboBoxTarifa.SelectedIndex = 0;

            if (sexo == "V")
                TRadioButtonH.Checked = true;
            else if (sexo == "M")
                TRadioButtonM.Checked = true;
            ////////////////////////////////////////////////
            EN.ENProveedores provi = new EN.ENProveedores(); //PAra arreglar el problema de los combobox y que el de ciudad vaya a la primera sin pulsar primero provincia
            DataSet dsProv = new DataSet();
            dsProv = provi.ObtenerListaProvincias();
            //ObtenerProvincias(dsProv)

            numProvincia= new DataSet();
            numProvincia = dsProv;
            /////////////////////////////////////////////////

            TButtonGuardarCliente.Text = nombrebotonguardar; // importante le cambiamos el nombre al boton para saber que venimos del formulario buscar, y estamos editando no guardando uno nuevo
            TButtonGuardarCliente.Size = new Size(120, 33);
        }
        public GestionClientes(EN.ENCliente enCliente, string nombrebotonguardar,string provincias,string ciudades)
        {
            InitializeComponent();

            //////////Para rellenar TListBoxCoches con los coches que ha alquilado el cliente.
            DataSet vehi = new DataSet();
            EN.ENReservas enVehi = new EN.ENReservas();
            string dnicadena = "FK_Cliente ='" + enCliente.DNI + "'";
            vehi = enVehi.ObtenerReservas(dnicadena);

            if (vehi.Tables["Reservas"].Rows.Count > 0)
            {
                TTextBoxNumeroReservas.Text = vehi.Tables["Reservas"].Rows.Count.ToString();
                for (int i = 0; i < vehi.Tables["Reservas"].Rows.Count; i++)
                {
                    // MessageBox.Show(vehi.Tables["Reservas"].Rows[i][2].ToString());
                    TListBoxCoches.Items.Add(vehi.Tables["Reservas"].Rows[i][2].ToString());
                }
            }
            else
                TTextBoxNumeroReservas.Text = "0";

            TGroupBoxCliente.Size = new Size(581, 334);
            TLabelVehiculosAlquiler.Visible = true;
            TListBoxCoches.Visible = true;
            TLabelNumeroReserva.Visible = true;
            TTextBoxNumeroReservas.Visible = true;
            TTextBoxNumeroReservas.Enabled = false;
            TListBoxCoches.Enabled = false;

            /////////////

            TTextBoxDNI.Enabled = false;
            DataSet dscli = new DataSet();
            dscli = enCliente.ObtenerDatosClienteConDni(enCliente.DNI);

            TTextBoxNombre.Text = enCliente.Nombre = dscli.Tables["Cliente"].Rows[0][1].ToString();
            TTextBoxApellidos.Text = enCliente.Apellidos =  dscli.Tables["Cliente"].Rows[0][2].ToString();
            TTextBoxDNI.Text = enCliente.DNI = dscli.Tables["Cliente"].Rows[0][0].ToString();
            enCliente.Telefono = int.Parse(dscli.Tables["Cliente"].Rows[0][3].ToString());
            TTextBoxTelefono.Text = enCliente.Telefono.ToString();
            TTextBoxEmail.Text = enCliente.Email = dscli.Tables["Cliente"].Rows[0][4].ToString();;
            TTextBoxDireccion.Text = enCliente.Direccion = dscli.Tables["Cliente"].Rows[0][5].ToString();
              /* if (provincias != null && ciudades != null)
            {
                TComboBoxProvincias.Items.Add(provincias);
                TComboBoxProvincias.SelectedIndex = 0;
                TComboBoxCiudades.Items.Add(ciudades);
                TComboBoxCiudades.SelectedIndex = 0;
            }*/
            enCliente.Provincia = dscli.Tables["Cliente"].Rows[0][6].ToString();
            enCliente.Ciudad = dscli.Tables["Cliente"].Rows[0][7].ToString();

            TComboBoxProvincias.Items.Add(enCliente.Provincia);
            TComboBoxProvincias.SelectedIndex = 0;
            TComboBoxCiudades.Items.Add(enCliente.Ciudad);
            TComboBoxCiudades.SelectedIndex = 0;
            textoProvincia = TComboBoxProvincias.Text;

            enCliente.Tarifa = dscli.Tables["Cliente"].Rows[0][8].ToString();
            TComboBoxTarifa.Items.Add(enCliente.Tarifa);
            TComboBoxTarifa.SelectedIndex = 0;

            enCliente.Sexo = dscli.Tables["Cliente"].Rows[0][9].ToString();

            if (enCliente.Sexo == "V")
                TRadioButtonH.Checked = true;
            else if (enCliente.Sexo == "M")
                TRadioButtonM.Checked = true;

            TButtonGuardarCliente.Text = nombrebotonguardar; // importante le cambiamos el nombre al boton para saber que venimos del formulario buscar, y estamos editando no guardando uno nuevo
            TButtonGuardarCliente.Size = new Size(120, 33);

            ////////////////////////////////////////////////
            EN.ENProveedores provi = new EN.ENProveedores(); //PAra arreglar el problema de los combobox y que el de ciudad vaya a la primera sin pulsar primero provincia
            DataSet dsProv = new DataSet();
            dsProv = provi.ObtenerListaProvincias();
            //ObtenerProvincias(dsProv)

            numProvincia = new DataSet();
            numProvincia = dsProv;
            /////////////////////////////////////////////////
        }
        private void TButtonBuscar_Click(object sender, EventArgs e)
        {
            bool correcto = true;
            string sentencia = "";
            if (!Regex.Match(TTextBoxNumeroReserva.Text, @"^[0-9]{1,10000}$").Success && TTextBoxNumeroReserva.Text.ToString() != "")
            {
                err1.SetError(TTextBoxNumeroReserva, "Solo se admiten números (vacio para buscar todas)");
                correcto = false;
            }
            else
            {
                err1.Clear();
                if (TTextBoxNumeroReserva.Text.ToString() != "")
                {
                    if (TRadioButtonReservas.Checked)
                        sentencia += " NºReserva='" + TTextBoxNumeroReserva.Text.ToString() + "'";
                    else
                        sentencia += " Numero = '" + TTextBoxNumeroReserva.Text.ToString() + "'";
                }
            }
            if (TDateTimePickerFechaFin.Visible == true)
            {
                if (TDateTimePickerFechaInicio.Value <= TDateTimePickerFechaFin.Value)
                {
                    if (TRadioButtonReservas.Checked)
                    {
                        err2.Clear();
                        if (sentencia == "")
                        {
                            sentencia += " FechaInicio between '" + Convert.ToDateTime(TDateTimePickerFechaInicio.Value.ToString()) + "' and '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                            sentencia += " and FechaFin <= '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                        }
                        else
                        {
                            sentencia += " and FechaInicio between '" + Convert.ToDateTime(TDateTimePickerFechaInicio.Value.ToString()) + "' and '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                            sentencia += " and FechaFin <= '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                        }
                    }
                    else
                    {
                        err2.Clear();
                        if (sentencia == "")
                        {
                            sentencia += " Fecha between '" + Convert.ToDateTime(TDateTimePickerFechaInicio.Value.ToString()) + "' and '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                        }
                        else
                        {
                            sentencia += " and Fecha between '" + Convert.ToDateTime(TDateTimePickerFechaInicio.Value.ToString()) + "' and '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                        }
                    }
                }
                else
                {
                    err2.SetError(TDateTimePickerFechaFin, "Fecha fin superior a fecha inicio");
                    correcto = false;
                }
            }
            if (TLabelCliente.Visible == true)
            {
                if (TRadioButtonReservas.Checked)
                {
                    if (sentencia == "")
                    {
                        sentencia += " FK_Cliente ='" + enCliente.DNI.ToString() + "'";
                    }
                    else
                    {
                        sentencia += " and FK_Cliente ='" + enCliente.DNI.ToString() + "'";
                    }
                }
                else
                {
                    if (sentencia == "")
                    {
                        sentencia += " FK_DNI_Cliente ='" + enCliente.DNI.ToString() + "'";
                    }
                    else
                    {
                        sentencia += " and FK_DNI_Cliente ='" + enCliente.DNI.ToString() + "'";
                    }
                }

            }
            if (correcto)
            {
                //location 199,38 size 558 285
                //location 142 343
                TDataGridViewReservas.Visible = true;
                TGroupBoxReservas.Location = new Point(26, 343); //para desplazar el panel de busqueda hacia abajo.
                EN.ENReservas enRe = new EN.ENReservas();
                EN.ENVentasRealizadas enVeR = new EN.ENVentasRealizadas();

                DataSet ds = new DataSet();

                eliminado = sentencia;
                if (TRadioButtonReservas.Checked)
                    ds = enRe.ObtenerReservas(sentencia);
                else
                    ds = enVeR.ObtenerVentasRealizadas(sentencia);

                TDataGridViewReservas.DataSource = ds;
                if (TRadioButtonReservas.Checked)
                    TDataGridViewReservas.DataMember = "Reservas";
                else
                    TDataGridViewReservas.DataMember = "VentasRealizadas";

                for (int i = 0; i < TDataGridViewReservas.Columns.Count; i++) //esto nos servira para bloquear todas las columnas para que no se puedan editar
                {
                    if (i != 0) { TDataGridViewReservas.Columns[i].ReadOnly = true; } //dejamos desbloqueada la columna de eliminar para que podamos pulsar, la columna boton no se bloquea asiq no hace falta desbloquearla
                }
            }
        }