private void BajarHotel_Click(object sender, EventArgs e)
        {
            DialogResult confirmaBaja = MessageBox.Show("Está seguro de deshabilitar este hotel?", "Deshabilitar hotel", MessageBoxButtons.OKCancel);
            if (confirmaBaja == DialogResult.OK)
            {
                BD bd = new BD();
                bd.obtenerConexion();
                string parametros = TxtId.Text + ", '" + Program.hoy().ToShortDateString() + "', '" + HastaPick.Value.ToShortDateString() + "'"; 
                try
                {
                    string query = "EXEC FUGAZZETA.OcupacionEnHotelEnPeriodo " + parametros;
                    SqlDataReader dr = bd.lee(query);
                    if (dr.HasRows)
                    {
                        throw new Exception("Hay reservas en ese período para el hotel.");
                    }
                    else
                    {
                        string query2 = "INSERT INTO FUGAZZETA.HistorialBajasHotel values (" + parametros +  ", '" + TxtMotivo.Text + "')";
                        bd.ejecutar(query2);

                    }

                }
                catch (Exception ex)
                {
                    this.DialogResult = DialogResult.Abort;
                    MessageBox.Show("No se pudo dar de baja el hotel. " + ex.Message);
                }
                
            }

        }
 public void actualizar(){
     BD bd = new BD();
     bd.obtenerConexion();
     string comando =
         "UPDATE FUGAZZETA.Roles SET Nombre =" + ifNull(nombre) +
         ", Estado = " + Convert.ToSByte(estado) +
         " WHERE Id_Rol = " + id;
     bd.ejecutar(comando);
 }
        private void Mostrar_Click(object sender, EventArgs e)
        {
            string condicion = "";
            if (TxtReserva.Text == "") MessageBox.Show("No se ingresó ninguna reserva.", this.Text, MessageBoxButtons.OK);
            else
            {
                idReserva = Int32.Parse(TxtReserva.Text);
                BD bd = new BD();
                bd.obtenerConexion();
                if (menu.usuarioActual != "guest")
                {
                    HotelClick.Enabled = false;
                    idHotel = menu.hotelActual;
                    TxtHotel.Text = idHotel.ToString();
                    condicion = " AND Id_Hotel = " + idHotel;
                }
                //CARGA DATOS ESTADIA
                SqlDataReader dr = bd.lee("SELECT * FROM FUGAZZETA.[ReservasModificables] WHERE Id_Reserva = " + idReserva + condicion);
                if (dr.HasRows)
                {
                    while (dr.Read())
                    {
                        idHotel = Int32.Parse(dr[2].ToString());
                        TxtHotel.Text = idHotel.ToString();
                        Desde.Value = Convert.ToDateTime(dr[4].ToString());
                        Hasta.Value = Convert.ToDateTime(dr[5].ToString());
                        idRegimen = dr[6].ToString();
                    }
                    dr.Close();

                    //CARGA REGIMENES
                    restaurarRegimenes(bd);
                    CbRegimen.Text = idRegimen;
                    string elRegimen = "";
                    for (int i = 0; i < CbRegimen.Items.Count; i++)
                    {
                        if ((CbRegimen.Items[i] as Regimen).id.ToString() == idRegimen)
                            elRegimen = CbRegimen.Items[i].ToString();                        
                    }
                    CbRegimen.Text = elRegimen;


                    //CARGA HABITACIONES
                    cargarYLiberarHabitaciones(bd);
                    GroupReserva.Enabled = true;
                    MostrarDatos.Enabled = false;
                    huboCambios = false;
                }
                else
                {
                    dr.Close();
                    MessageBox.Show("No se encontró la reserva o la misma no pertenece al hotel logueado.", this.Text);
                }
            }
        }
 public Cliente(string unId, string nombreApellido)
 {
     string apn = "";
     BD bd = new BD();
     bd.obtenerConexion();
     SqlDataReader r2d2 = bd.lee("SELECT Apellido,Nombre FROM FUGAZZETA.Clientes WHERE Id_Cliente = " + unId);
     while (r2d2.Read())
         apn = r2d2["Apellido"].ToString() + ", " + r2d2["Nombre"].ToString();
     r2d2.Close();
     bd.cerrar();
     asigna(unId, apn);
 }
 public HotelxRol(string idHotel, string idRol)
 {
     BD bd = new BD();
     bd.obtenerConexion();
     string query = "SELECT H.Nombre, R.Nombre FROM FUGAZZETA.Roles R, FUGAZZETA.Hoteles H WHERE H.Id_Hotel = " + idHotel + " AND R.Id_Rol = " + idRol;
     SqlDataReader dr = bd.lee(query);
     while (dr.Read())
     {
         hotel = new Hotel(idHotel, dr[0].ToString());
         rol = new Rol(idRol, dr[1].ToString());
     }
 }
 public Consumible(string unID, string name)
 {
     asigna(unID, name);
     BD bd = new BD();
     bd.obtenerConexion();
     SqlDataReader dr = bd.lee("SELECT Precio FROM FUGAZZETA.Consumibles where Id_Consumible = " + id);
     while (dr.Read())
     {
         precio = Convert.ToDouble(dr[0].ToString());
     }
     dr.Close();
     bd.cerrar();
 }
 private void GenerarReserva_Load(object sender, EventArgs e)
 {
     if (menuP.usuarioActual != "guest")
     {
         ElegirHotel.Enabled = false;
         idHotelActual = menuP.hotelActual;
         TxtHotel.Text = idHotelActual.ToString();
         BD db = new BD();
         db.obtenerConexion();
         completaRegimenes(db);
         db.cerrar();
     }
 }
 private void CheckOut_Load(object sender, EventArgs e)
 {
     cargarGrilla(GridConsumibles, todos);
     GridCarrito.DataSource = carrito.tabla;
     BD bd2 = new BD();
     bd2.obtenerConexion();
     loadBancos();
     loadTarjetas();
     SqlDataReader dr = bd2.lee("SELECT Id_TipoPago FROM FUGAZZETA.TiposPago WHERE Descripcion = 'Efectivo'");
     while (dr.Read()) OpEfectivo.Tag = dr[0].ToString();
     dr.Close();
     bd2.cerrar();
 }
 private void CmdIngresar_Click(object sender, EventArgs e)
 {
     if (TxtUser.Text == "guest") Guest_Click(sender, e);
     else
     {
         BD bd = new BD();
         bd.obtenerConexion();
         string comando = "SELECT Username,Contraseña FROM FUGAZZETA.[UsuariosHabilitados] WHERE Username='******'";
         SqlDataReader tabla = bd.lee(comando);
         try
         {
             if (tabla.HasRows)
             {
                 tabla.Read();
                 string pass = tabla[1].ToString();
                 if (Hashing.SHA256Encrypt(TxtPass.Text) == pass)
                 {
                     userActual = TxtUser.Text;
                     LblError.Text = "";
                     bd.ejecutar("EXEC FUGAZZETA.LoginCorrecto '" + TxtUser.Text + "'");
                     tabla.Close();
                     LoginOK login = new LoginOK(this, menu);
                     login.StartPosition = FormStartPosition.CenterScreen;
                     if (login.ShowDialog() == DialogResult.OK)
                         IrAMenuPrincipal(userActual);
                 }
                 else
                 {
                     try
                     {
                         bd.ejecutar("EXEC FUGAZZETA.LoginIncorrecto '" + TxtUser.Text + "'");
                         throw new Exception("Contraseña incorrecta");
                     }
                     catch (SqlException ex)
                     {
                         throw (ex as Exception);
                     }
                 }
                 tabla.Close();
             }
             else throw new Exception("Usuario no encontrado o inhabilitado por el administrador.");
         }
         catch (Exception ex)
         {
             LblError.Visible = true;
             LblError.Text = ex.Message;
         }
         bd.cerrar();
         tabla.Close();
     }
 }
 public BuscarCliente(ITraeBusqueda owner, char funcion)
 {
     InitializeComponent();
     BD bd = new BD();
     bd.obtenerConexion();
     dondeVuelve = owner;
     setearGrid(GridClientes);
     crearBuscador(dondeVuelve, "*", "Clientes");
     SqlDataReader reader = bd.lee("SELECT * FROM FUGAZZETA.TiposDoc");
     while (reader.Read())
         ComboDoc.Items.Add(new TipoDoc(reader[0].ToString(), reader[1].ToString()));
     reader.Close();
     bd.cerrar();
     fx = funcion;
 }
 private void VerDatos_Click(object sender, EventArgs e)
 {
     try
     {
         BD bd = new BD();
         bd.obtenerConexion();
         validarCompletarReserva(bd);
         completarDatos(bd);
         bd.cerrar();
     }
     catch (Exception ex)
     {
         MessageBox.Show("No se pueden ver los datos. " + ex.Message,this.Text, MessageBoxButtons.OK,MessageBoxIcon.Error);
     }
 }
        private void cargarCombos()
        {
            CmbTipo.Items.Clear();

            BD bd = new BD();
            bd.obtenerConexion();
            
            string query = "SELECT * FROM FUGAZZETA.TiposHabitacion ORDER BY Id_TipoHab";
            SqlDataReader dr = bd.lee(query);
            while (dr.Read())
            {
                TipoHabitacion tipo = new TipoHabitacion(dr[0].ToString(), dr[1].ToString());
                CmbTipo.Items.Add(tipo);
            }
            dr.Close();
        }
        private void actualizarRol()
        {
            Rol rolin = new Rol(
                Id_Rol.Text,TxtRol.Text,CheckActivo.Checked);
            rolin.actualizar();

            BD bd = new BD();
            bd.obtenerConexion();
            bd.eliminar("[Funcionalidades x Roles]", "Id_Rol=" + Id_Rol.Text);
            for (int i = 0; i < ListFunciones.Items.Count; i++)
            {
                Funcionalidad func = ListFunciones.Items[i] as Funcionalidad;
                bd.insertar("[Funcionalidades x Roles]", func.id + ", " + Id_Rol.Text);
            }

            MessageBox.Show("Actualización realizada con éxito");
            this.Close();
        }
 internal void actualizar()
 {
     BD bd = new BD();
     bd.obtenerConexion();
     string comando =
         "UPDATE FUGAZZETA.Hoteles SET Nombre = " + ifNull(nombre) +
         ", Mail = " + ifNull(mail) +
         ", Telefono = " + ifNull(telefono) +
         ", Calle = " + ifNull(calle) +
         ", Nro_Calle = " + ifNull(nroCalle) +
         ", Ciudad = " + ifNull(ciudad) +
         ", Pais = " + pais.id +
         ", CantEstrella = " + cantEstrellas +
         ", Fec_Creacion = '" + fechaCreacion.ToString() +
         "', Habilitado = " + Convert.ToSByte(habilitado) +
         " WHERE Id_Hotel = " + id;
     bd.ejecutar(comando);
 }
 private void Cambiar_Click(object sender, EventArgs e)
 {
     try
     {
         if (TxtPass1.Text != TxtPass2.Text) throw new Exception("Las contraseñas no coinciden.");
         if (TxtPass1.Text == "") throw new Exception("No ha colocado ninguna contraseña.");
         BD bd = new BD();
         bd.obtenerConexion();
         string nuevoPass = Hashing.SHA256Encrypt(TxtPass1.Text);
         bd.ejecutar("UPDATE FUGAZZETA.Usuarios SET Contraseña = '" + nuevoPass + "' WHERE Username = '******'");
         bd.cerrar();
         this.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message, "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        private void LoginOK_Load(object sender, EventArgs e)
        {
            CbHoteles.Items.Clear();
            string query = "SELECT UHR.Id_Hotel,UHR.Id_Rol FROM FUGAZZETA.Roles R, FUGAZZETA.[Usuarios x Hoteles x Rol] UHR WHERE R.Id_Rol=UHR.Id_Rol AND R.Estado=1 AND UHR.Username = '******'";
            BD bd = new BD();
            bd.obtenerConexion();
            SqlDataReader dr = bd.lee(query);
            while (dr.Read()) CbHoteles.Items.Add(new HotelxRol(dr[0].ToString(), dr[1].ToString()));
            dr.Close();
            bd.cerrar();

            if (CbHoteles.Items.Count == 1){
                loguear(CbHoteles.Items[0]);
                this.DialogResult = DialogResult.OK;
            }
            if (CbHoteles.Items.Count == 0){
                MessageBox.Show("No está habilitado en ningun hotel.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
                this.DialogResult = DialogResult.Retry; ;
            }
        }
 private void loadTarjetas()
 {
     BD bd2 = new BD();
     bd2.obtenerConexion();
     CbTipoPago.Items.Clear();
     try
     {
         string comando = "SELECT * FROM FUGAZZETA.TiposPago WHERE Descripcion != 'Efectivo'";
         SqlDataReader respuesta = bd2.lee(comando);
         while (respuesta.Read())
         {
             CbTipoPago.Items.Add(new TipoPago(respuesta[0].ToString(), respuesta[1].ToString()));
         }
         respuesta.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al completar: " + ex.Message);
     }
     bd2.cerrar();
 }
 private void loadBancos()
 {
     BD bd2 = new BD();
     bd2.obtenerConexion();
     CbBanco.Items.Clear();
     try
     {
         string comando = "SELECT * FROM FUGAZZETA.Bancos";
         SqlDataReader respuesta = bd2.lee(comando);
         while (respuesta.Read())
         {
             CbBanco.Items.Add(new Banco(Int16.Parse(respuesta[0].ToString()),respuesta[1].ToString()));
         }
         respuesta.Close();
     }
     catch (Exception ex)
     {
         MessageBox.Show("Error al completar: " + ex.Message);
     }
     bd2.cerrar();
 }
 private void Guest_Click(object sender, EventArgs e)
 {
     BD bd = new BD();
     bd.obtenerConexion();
     string comando = "SELECT Estado FROM FUGAZZETA.Roles WHERE Nombre='Guest'";
     SqlDataReader estado = bd.lee(comando);
     while (estado.Read())
     {
         if (Convert.ToInt32(estado[0]) == 1)
         {
             IrAMenuPrincipal("guest");
             menu.hotelActual = 1;
             menu.rolActual = "Guest";
         }
         else MessageBox.Show("No es posible entrar como guest. Rol Inhabilitado.", "ERROR", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
     estado.Close();
     bd.cerrar();
     
     
 }
 private void generarLaReserva()
 {
     BD bd = new BD();
     bd.obtenerConexion();
     int idRegimen = (ComboRegimen.SelectedItem as ABM_de_Regimen.Regimen).id;
     string usuario = menuP.usuarioActual;
     string query = "EXEC FUGAZZETA.GenerarReserva " + idClienteActual + ", " + idHotelActual + ", '" + Program.ahora().ToString() + "', '" + DesdePick.Value.ToShortDateString() + "', '" + HastaPick.Value.ToShortDateString() + "', " + idRegimen + ", '" + usuario + "'";
     SqlDataReader reader = bd.lee(query);
     while (reader.Read())
     {
         idReservaGenerada = Int32.Parse(reader[0].ToString());
     }
     reader.Close();
     
     for (int i=0; i < ListHabitaciones.Items.Count; i++)
     {
         string numHabitacion = (ListHabitaciones.Items[i] as ABM_de_Habitacion.Habitacion).numero.ToString();
         query = "INSERT INTO FUGAZZETA.[Habitaciones x Reservas] values (" + idReservaGenerada + ", " + idHotelActual + ", " + numHabitacion + ")";
         bd.ejecutar(query);
     }
     bd.cerrar();
 }
        private void BtnCancelar_Click(object sender, EventArgs e)
        {
            string codigo = TxtCodigo.Text;
            DialogResult confirma = MessageBox.Show("Está seguro de cancelar la reserva ID:" + codigo + "?",this.Text,MessageBoxButtons.OKCancel);
                if (confirma == DialogResult.OK)
            {
                try
                {
                    BD bd = new BD();
                    bd.obtenerConexion();
                    validarReserva(bd);
                    validarContraseña(bd);
                    cancelar(bd);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("No se pudo realizar la baja. " + ex.Message, "ERROR",MessageBoxButtons.OK,MessageBoxIcon.Error);
                    this.DialogResult = DialogResult.Retry;
                }
            }

        }
        private void cargar()
        {
            if (funcion == 'M')
            {
                BD bd = new BD();
                bd.obtenerConexion();
                int elId = Convert.ToInt32(tuId);
                string query = "SELECT * FROM FUGAZZETA.Habitaciones WHERE Num_Habitacion = " + elId + " and Id_Hotel = " + tuHotel;
                SqlDataReader dr = bd.lee(query);

                while (dr.Read())
                {
                    TxtNro.Text = dr["Num_Habitacion"].ToString();
                    TxtPiso.Text = dr["Piso"].ToString();
                    TxtDesc.Text = dr["Comodidades"].ToString();
                    
                    string frente = dr["Frente"].ToString();
                    if (frente == "S") { Exterior.Checked = true; }
                    if (frente == "N") { Interior.Checked = true; }

                    string elItem = "";
                    for (int i = 0; i < CmbTipo.Items.Count; i++)
                    {

                        if ((CmbTipo.Items[i] as TipoHabitacion).id.ToString() == dr["Id_TipoHab"].ToString())
                        {
                            elItem = CmbTipo.Items[i].ToString();
                        }
                    }
                    CmbTipo.Text = elItem;

                    ChkHabilitada.Checked = Convert.ToBoolean(dr["Habilitado"].ToString());
                }
                dr.Close();
                                               
                bd.cerrar();
            }
        }
        private void Guardar_Click(object sender, EventArgs e)
        {
            try {
               
                ValidarTxt(TxtNro, "Número");
                ValidarTxt(TxtPiso, "Piso");
                if (!Interior.Checked && !Exterior.Checked)
                    throw new Exception("No seleccionó la ubicación.");
                if (CmbTipo.SelectedIndex == -1)
                    throw new Exception("No seleccionó el tipo de habitación.");
                
            if (funcion == 'M')
            {
                DialogResult confirma = MessageBox.Show("Son todos los datos correctos?", "Confirmar actualización de habitacion", MessageBoxButtons.YesNo);

                if (confirma == DialogResult.Yes)
                {
                    actualizarHabitacion();
                }
            }
            else{
            DialogResult confirma = MessageBox.Show("Son todos los datos correctos? Recuerde que el Tipo de Habitación es definitivo", this.Text, MessageBoxButtons.YesNo);

            if (confirma == DialogResult.Yes)
            {
                BD bd = new BD();
                bd.obtenerConexion();
               
                string habitacionRepetida = "select * from FUGAZZETA.Habitaciones H where Num_Habitacion=" + TxtNro.Text+" and Id_Hotel="+tuHotel.ToString();
                SqlDataReader dr = bd.lee(habitacionRepetida);
                while (dr.Read())
                {
                    if ((dr.HasRows)) throw new Exception("Ese número de habitación ya existe en el hotel.");
                }
                dr.Close();

                    char frente='N';
                    if (Exterior.Checked) frente = 'S';
                    if (Interior.Checked) frente = 'N';

                    TipoHabitacion elTipo = CmbTipo.Items[CmbTipo.SelectedIndex] as TipoHabitacion;
                    
                    string query = 
                        "INSERT INTO FUGAZZETA.Habitaciones values ("
                        +tuHotel+","
                        +TxtNro.Text+","
                        +TxtPiso.Text+",'"
                        +frente+"',"
                        +elTipo.id+",'"
                        +TxtDesc.Text+"',"
                        +Convert.ToSByte(ChkHabilitada.Checked) + ")"
                        ;
                    bd.ejecutar(query);
                    bd.cerrar();
                    MessageBox.Show("Habitacion agregada con éxito");
                    this.Close();
                }
                 }
            }
            catch (Exception ex)
                {
                    bd.cerrar();
                    MessageBox.Show("Error: No se pudo ingresar la habitación. " + ex.Message);
                }
        }
        private void actualizarHabitacion()
        {
            BD bd = new BD();
            bd.obtenerConexion();

            string habitacionRepetida = "select * from FUGAZZETA.Habitaciones H where Num_Habitacion=" + TxtNro.Text+" and Id_Hotel="+tuHotel.ToString()+" and Num_Habitacion<>"+tuId;
            SqlDataReader dr = bd.lee(habitacionRepetida);
            while (dr.Read())
            {
                if ((dr.HasRows)) throw new Exception("Ese número de habitación ya existe en el hotel.");
            }
            dr.Close();

            char frente ='N';
            if (Exterior.Checked == true) { frente = 'S'; }
            if (Interior.Checked == true) { frente = 'N'; }
            string comando =
                "UPDATE FUGAZZETA.Habitaciones SET Id_Hotel="+tuHotel.ToString()+
                ", Num_Habitacion =" + TxtNro.Text +
                ", Piso = " + TxtPiso.Text +
                ", Comodidades = '" + TxtDesc.Text +
                "', Frente = '" + frente +
                "', Habilitado = " + Convert.ToSByte(ChkHabilitada.Checked) +
                " WHERE Num_Habitacion = " + tuId+" and Id_Hotel="+tuHotel.ToString();
            bd.ejecutar(comando);
            
            

            bd.cerrar();
            MessageBox.Show("Actualización realizada con éxito");
           
        }
        private void CmdGuardar_Click(object sender, EventArgs e)
        {
            if (funcion=='M'){
                    BD bd = new BD();
                    bd.obtenerConexion();
                    try
                        {
                        validarDocumento(bd);
                        validarMail(bd);
                        bd.cerrar();
                        DialogResult modif = MessageBox.Show("Son todos los datos correctos?", "Confirmar actualización de cliente", MessageBoxButtons.YesNo);
                        if (modif == DialogResult.Yes)
                            {
                                actualizarCliente();
                            }
                    }

                    catch (Exception ex)
                    {
                        bd.cerrar();
                        MessageBox.Show("Error: No se pudo actualizar al cliente. " + ex.Message);
                    }

                
            }
            else{
            DialogResult confirma = MessageBox.Show("Son todos los datos correctos?", this.Text, MessageBoxButtons.YesNo);

            if (confirma == DialogResult.Yes)
            {
                BD bd = new BD();
                bd.obtenerConexion();
                try
                {                    
                    ValidarTxt(TxtNombre, "Nombre");
                    ValidarTxt(TxtApellido, "Apellido");
                    ValidarTxt(TxtNroDoc, "Número de Documento");
                    ValidarTxt(TxtTelefono, "Teléfono");
                    ValidarTxt(TxtCalle, "Calle");
                    ValidarTxt(TxtNroDirec, "Número Calle");
                    validarDocumento(bd);
                    validarMail(bd);
                    string tipoDoc = setTipoDoc(TipoDoc);
                    string idNac = setPais(ComboNac);
                    string idPais = setPais(ComboPais);
                    string query = "INSERT INTO FUGAZZETA.Clientes values (" + ifNull(TxtNombre) + ", " + ifNull(TxtApellido) + @", 
                " + tipoDoc + ", " + ifNull(TxtNroDoc) + ", '" + FechaPick.Value.ToShortDateString() + "', " + ifNull(TxtMail) + @",
                " + ifNull(TxtTelefono) + ", " + ifNull(TxtCalle) + ", " + ifNull(TxtNroDirec) + ", " + ifNull(TxtPiso) + @",
                " + ifNull(TxtDpto) + ", " + ifNull(TxtLocalidad) + ", " + idPais + ", " + idNac + ","+ Convert.ToSByte(chkHabilitado.Checked)+")";
                    bd.ejecutar(query);
                    bd.cerrar();
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                catch (Exception ex)
                {
                    bd.cerrar();
                    MessageBox.Show("Error: No se pudo ingresar el cliente. " + ex.Message);
                }
            }
        }
        }
        void ITraeBusqueda.agregar(string id, string descripcion)
        {
            BD db = new BD();
            db.obtenerConexion();
            SqlDataReader reader;
            string query;
            switch (nBuscador)
            {
                case 1:
                    bool estaHabilitado = true;
                    query = "SELECT * FROM FUGAZZETA.Clientes WHERE Id_Cliente = " + id;
                    reader = db.lee(query);
                    while (reader.Read())
                    {
                        // Valida al usuario primero. Si no está habilitado, cierra todo.
                        estaHabilitado = Convert.ToBoolean(reader["Habilitado"].ToString());
                        if (!estaHabilitado)
                        {
                            reader.Close();
                            MessageBox.Show("El cliente no está habilitado por la cadena para realizar la reserva. Consulte con Recepción o Administración para regularizar la situación.");
                            this.Close();
                            break;
                        }
                        //Si está validado, completa los datos.
                        SqlDataReader r2d2;
                        idClienteActual = Int32.Parse(id);
                        TxtNombre.Text = reader[1].ToString() + " " + reader[2].ToString();

                        r2d2 = db.lee("SELECT Descripcion FROM FUGAZZETA.TiposDoc WHERE Id_TipoDoc = " + reader[3].ToString());
                        while (r2d2.Read())
                            TxtDoc.Text = r2d2[0].ToString() + " " + reader[4].ToString();
                        //r2d2.Close();
                        r2d2 = db.lee("SELECT Nombre FROM FUGAZZETA.Paises WHERE Id_Pais =" + reader["Nacionalidad"].ToString());
                        while (r2d2.Read())
                            TxtPais.Text = r2d2[0].ToString();
                        r2d2.Close();
                        
                        TxtNac.Text = reader[5].ToString().Substring(0, 10);
                        TxtMail.Text = reader[6].ToString();
                        TxtTelefono.Text = reader[7].ToString();
                        TxtDomicilio.Text = reader[8].ToString() + " " + reader[9].ToString() + " " + reader[10].ToString() + " " + reader[11].ToString();
                        TxtCiudad.Text = reader[12].ToString();
                    }
                    reader.Close();
                    break;
                case 2:
                    ComboRegimen.Items.Clear();
                    idHotelActual = Int32.Parse(id);
                    string texto = "";
                    if (descripcion.Length == 0) texto = id;
                    else texto = descripcion;
                    TxtHotel.Text = texto;
                    completaRegimenes(db);
                    break;
                case 3:
                                       
                    break;
                case 4:
                    ComboRegimen.Text = descripcion;
                    break;
            }
            db.cerrar();
        }
 private void valida(string tabla,string campo, int id, string mensajeException)
 {
     bool estaHabilitado = true;
     DateTime fechaFin=DesdePick.Value;
     BD bd = new BD();
     bd.obtenerConexion();
     string query = "SELECT Habilitado FROM FUGAZZETA." + tabla + " where " + campo + " = " + id;
     SqlDataReader dr = bd.lee(query);
     while (dr.Read())
     {
         estaHabilitado = Convert.ToBoolean(dr[0].ToString());
     }
     dr.Close();
     if (!estaHabilitado)
     {
         query = "SELECT top 1 Fecha_Fin FROM FUGAZZETA.HistorialBajasHotel where Id_Hotel="+id+" order by Fecha_Inicio";
         dr = bd.lee(query);
         while (dr.Read())
         {
             fechaFin = Convert.ToDateTime(dr[0].ToString());
         }
         if (DesdePick.Value<fechaFin) throw new Exception(mensajeException);
     }
     bd.cerrar();
 }
 private bool esDuplicado(string id)
 {
     bool duplica=false;
     BD bd = new BD();
     bd.obtenerConexion();
     string query = "SELECT * FROM FUGAZZETA.ClientesDuplicados where Id_Cliente="+id;
     SqlDataReader dr = bd.lee(query);
     while (dr.Read())
         duplica = dr.HasRows;
     dr.Close();
     bd.cerrar();
     return duplica;
 }
 private void ConfirmarDatosEstadia_Click(object sender, EventArgs e)
 {
     try
     {
         validaDias();
         validarHotel();
         valida("Hoteles", "Id_Hotel", idHotelActual, "Este hotel no está habilitado por la cadena.");
         BD bd = new BD();
         bd.obtenerConexion();
         string query = "EXEC FUGAZZETA.CancelarPorNoShow '" + Program.hoy().ToShortDateString() + "', '" + menuP.usuarioActual + "'";
         bd.ejecutar(query);
         ListHabitaciones.Items.Clear();
         LblCostoHab.Text = "0";
         costoHabitaciones = 0;
         group3.Enabled = false;
         groupHab.Enabled = true;
         validarRegimen();
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message);
     }
     
 }
 private void CargarTipoDocNacPaises()
 {
     BD bd = new BD();
     bd.obtenerConexion();
     string query = "SELECT * FROM FUGAZZETA.Paises ORDER BY Nombre";
     SqlDataReader dr = bd.lee(query);
     while (dr.Read())
     {
         Pais pais = new Pais(dr[0].ToString(), dr[1].ToString());
         ComboPais.Items.Add(pais);
         ComboNac.Items.Add(pais);
     }
     dr.Close();
     query = "SELECT * FROM FUGAZZETA.TiposDoc";
     dr = bd.lee(query);
     while (dr.Read()) TipoDoc.Items.Add(new TipoDoc(dr[0].ToString(), dr[1].ToString()));
     bd.cerrar();
 }