private void TDataGridBuscarFacturas_CellContentClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                if (TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[e.ColumnIndex].ColumnIndex.ToString() == "0") // la columna 0 es el checkbox de eliminiar
                {
                    string numRes = TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[2].Value.ToString();

                    if (arraynumRes.Count == 0)
                    {
                        arraynumRes.Add(numRes);
                    }
                    else
                    {
                        bool esta = false;
                        for (int i = 0; i < arraynumRes.Count; i++)
                        {
                            if (arraynumRes[i].ToString() == numRes)
                            {
                                arraynumRes.RemoveAt(i);//para borrarlo de la array porque esto quiere decir que lo hemos deseleccionado
                                esta = true;
                            }
                        }
                        if (esta == false)
                            arraynumRes.Add(numRes);
                    }
                }
                else if (TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[e.ColumnIndex].Value.ToString() == "Duplicar")
                {
                    EN.ENFacturacion enFa = new EN.ENFacturacion();
                    EN.ENVehiculo enVe = new EN.ENVehiculo();
                    EN.ENCliente enCli = new EN.ENCliente();

                    enFa.Factura = Int32.Parse(TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[2].Value.ToString());
                    enFa.Cliente = TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[3].Value.ToString();
                    enFa.Vehiculo = TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[4].Value.ToString();
                    enFa.Conductores = Int32.Parse(TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[5].Value.ToString());
                    enFa.Tiempo = Int32.Parse(TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[6].Value.ToString());
                    enFa.Tarifa = TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[7].Value.ToString();
                    enFa.DiaFacturacion = Convert.ToDateTime(TDataGridBuscarFacturas.Rows[e.RowIndex].Cells[9].Value.ToString());

                    enVe.Matricula = enFa.Vehiculo;
                    enCli.DNI = enFa.Cliente;
                    enVe.ObtenerDatosVehiculos();
                    enCli.RellenarCliente();

                    ImprimirFactura Fp = new ImprimirFactura(enCli, enVe, enFa, enFa.Factura);
                    Fp.BackgroundImage = AlquilerCoches.Properties.Resources.es_sello_duplicado;
                    Fp.BackgroundImageLayout = ImageLayout.Stretch;
                    Fp.Show();
                    Fp.Imprimir();

                }
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error no hay valores en esta fila");
            }
        }
        private void TButtonBuscar_Click(object sender, EventArgs e)
        {
            EN.ENFacturacion enFacturacion = new EN.ENFacturacion();

            DataSet dsFacturacion = new DataSet();

            bool correcto = true;
            string sentencia = "";

            if (!Regex.Match(TTextBoxNumeroFactura.Text, @"^[0-9]{1,10000}$").Success && TTextBoxNumeroFactura.Text.ToString() != "")
            {
                errorProvider1.SetError(TTextBoxNumeroFactura, "Solo se admiten números (vacio para buscar todas)");
                correcto = false;
            }
            else
            {
                errorProvider1.Clear();
                if (TTextBoxNumeroFactura.Text.ToString() != "")
                {
                    sentencia += " Numero='" + TTextBoxNumeroFactura.Text.ToString() + "'";
                }
            }
            if (TDateTimePickerFechaFin.Visible == true)
            {
                if (TDateTimePickerFechaInicio.Value <= TDateTimePickerFechaFin.Value)
                {
                    errorProvider1.Clear();
                    if (sentencia == "")
                    {
                        sentencia += " DiaFacturacion BETWEEN '" + TDateTimePickerFechaInicio.Value + "' AND '" + TDateTimePickerFechaFin.Value + "'";
                        //sentencia += " and FechaFin <= '" + TDateTimePickerFechaFin.Value + "'";
                    }
                    else
                    {
                        sentencia += " and DiaFacturacion BETWEEN '" + TDateTimePickerFechaFin.Value + "' AND '" + TDateTimePickerFechaInicio.Value + "'";
                       // sentencia += " and FechaFin <= '" + Convert.ToDateTime(TDateTimePickerFechaFin.Value.ToString()) + "'";
                    }
                }
                else
                {
                    errorProvider1.SetError(TDateTimePickerFechaFin, "Fecha fin superior a fecha inicio");
                    correcto = false;
                }
            }
            if (TLabelCliente.Visible == true)
            {
                if (sentencia == "")
                {
                    sentencia += " FK_Cliente ='" + enCliente.DNI.ToString() + "'";
                }
                else
                {
                    sentencia += " and FK_Cliente ='" + enCliente.DNI.ToString() + "'";
                }
            }

            if (correcto)
            {
                TDataGridBuscarFacturas.Visible = true;
                TPanelReservas.Location = new Point(26, 343); ; //para desplazar el panel de busqueda hacia abajo.
                EN.ENFacturacion enFa = new EN.ENFacturacion();

                TButtonEliminar.Visible = true;
                DataSet ds = new DataSet();
                eliminado = sentencia;
                ds = enFa.ObtenerFacturas(sentencia);
                TDataGridBuscarFacturas.DataSource = ds;
                TDataGridBuscarFacturas.DataMember = "Facturas";

                for (int i = 0; i < TDataGridBuscarFacturas.Columns.Count; i++) //esto nos servira para bloquear todas las columnas para que no se puedan editar
                {
                    if (i != 0) { TDataGridBuscarFacturas.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
                }
            }
        }
        private void TButtonEliminar_Click(object sender, EventArgs e)
        {
            EN.ENFacturacion enFa = new EN.ENFacturacion();
            if (arraynumRes.Count > 0)
            {
                if (MessageBox.Show("¿Desea eliminar '" + arraynumRes.Count.ToString() + "' registros?", "Atención", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == DialogResult.Yes)
                {
                    enFa.EliminarReserva(arraynumRes);
                }

                arraynumRes.Clear();
                DataSet ou = new DataSet();
                ou = enFa.ObtenerFacturas();
                TDataGridBuscarFacturas.DataSource = ou;

            }
            else
                MessageBox.Show("Debe seleccionar algún registro", "Atención", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }