private void btnGestorDeClientes_Click(object sender, EventArgs e) { FrmHuesped c = new FrmHuesped(); this.Hide(); c.ShowDialog(); this.Close(); }
private void btnEntrada_Click(object sender, EventArgs e) { string obtenerCantidadDeHospedados = "SELECT Cantidad_Huespedes FROM AEFI.TL_Reserva r WHERE r.ID_Reserva = @idReserva"; String recepcionistaHabilitadoReservaCheckIn = "SELECT ID_Reserva FROM AEFI.TL_Reserva r, AEFI.TL_Usuario_Por_Hotel uph, AEFI.TL_Habitacion h " + "WHERE r.ID_Habitacion = h.ID_Habitacion AND h.ID_Hotel = uph.ID_Hotel " + "AND r.Estado = 'Correcta' " + "AND uph.ID_Usuario = @idUsuario AND uph.ID_Rol = 2 AND uph.ID_Rol = @idRol AND r.ID_Reserva = @idReserva " + "AND NOT EXISTS(SELECT re.ID_Estadia FROM AEFI.TL_Registro_Evento re, AEFI.TL_Estadia e WHERE e.ID_Reserva = @idReserva AND e.ID_Estadia = re.ID_Estadia AND re.Descripcion ='Ingreso')"; String verificarFechaDeIngresoHoy = " SELECT * FROM AEFI.TL_Reserva r WHERE MONTH(r.Fecha_Desde) = MONTH(GETDATE()) AND YEAR(r.fecha_desde) = YEAR(GETDATE()) AND DAY(r.Fecha_Desde) = DAY(GETDATE()) AND r.Estado = 'Correcta' AND r.ID_Reserva = " + reservaTxtBox.Text; try { conexion.Open(); if (verificarRecepcionistaHabilitado(recepcionistaHabilitadoReservaCheckIn)) { SqlCommand comando = new SqlCommand(verificarFechaDeIngresoHoy, conexion); SqlDataReader reader = comando.ExecuteReader(); if (!reader.HasRows) { comando = new SqlCommand("AEFI.cancelarReserva", conexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.Add(new SqlParameter("@IDReserva", reservaTxtBox.Text)); comando.ExecuteNonQuery(); MessageBox.Show("La reserva no corresponde al día corriente. Realice una nueva reserva", "", MessageBoxButtons.OK, MessageBoxIcon.Error); button3_Click(this, e); } else { comando = new SqlCommand(obtenerCantidadDeHospedados, conexion); comando.Parameters.Add(new SqlParameter("@idReserva", reservaTxtBox.Text)); reader = comando.ExecuteReader(); reader.Read(); int numeroHospedados = Convert.ToInt32(reader[0]); reader.Close(); for (int i = 0; i < numeroHospedados; i++) { int j = i; MessageBox.Show("Ingrese el huesped número: " + (++j), "", MessageBoxButtons.OK, MessageBoxIcon.Information); FrmHuesped huesped = new FrmHuesped(1); huesped.ShowDialog(); } //Creo la factura comando = new SqlCommand("AEFI.insertar_factura", conexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.Add(new SqlParameter("@fecha", Program.fecha)); comando.Parameters.Add(new SqlParameter("@id_reserva", reservaTxtBox.Text)); SqlParameter par = new SqlParameter("@id_factura", 0); par.Direction = ParameterDirection.Output; comando.Parameters.Add(par); comando.ExecuteNonQuery(); int idFactura = Convert.ToInt32(par.Value); //Genero el ingreso comando = new SqlCommand("AEFI.generarIngresoEstadia", conexion); comando.CommandType = CommandType.StoredProcedure; comando.Parameters.Add(new SqlParameter("@idFactura", idFactura)); comando.Parameters.Add(new SqlParameter("@idReserva", reservaTxtBox.Text)); comando.Parameters.Add(new SqlParameter("@idUsuario", Program.idUsuario)); comando.ExecuteNonQuery(); MessageBox.Show("El check in de la estadía fue correctamente procesado", "", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } catch (SqlException exc) { MessageBox.Show(exc.Message, "", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { conexion.Close(); } }