async def order_habitacionesByprecio(precio: float): if precio == 0: orderHabitaciones_in_db = session.query(HabitacionesInDB).order_by( desc(HabitacionesInDB.precio)).all() if precio == 1: orderHabitaciones_in_db = session.query(HabitacionesInDB).order_by( asc(HabitacionesInDB.precio)).all() return orderHabitaciones_in_db
async def search_habitacionesByPrecio(precio: float): if precio == 1: habitaciones_in_db = session.query(HabitacionesInDB).filter( HabitacionesInDB.precio < 81000).all() return habitaciones_in_db if precio == 2: habitaciones_in_db1 = session.query(HabitacionesInDB).filter( HabitacionesInDB.precio >= 80000).filter( HabitacionesInDB.precio <= 198000).all() return habitaciones_in_db1, if precio == 3: habitaciones_in_db = session.query(HabitacionesInDB).filter( HabitacionesInDB.precio > 199000).all() return habitaciones_in_db
async def search_habitacionesByDisponiblidad(disponible: bool): tipoHabitaciones_in_db = session.query(HabitacionesInDB).filter_by( disponible=disponible).all() if tipoHabitaciones_in_db == []: return "No hay habitaciones disponibles" else: return tipoHabitaciones_in_db
async def delete_usuario(username: str): usuario_in_db = session.query(UsuarioInDB).get(username) if usuario_in_db != None: session.delete(usuario_in_db) session.commit() return "El usuario " + username + " ha sido eliminado satifactoriamente" raise HTTPException(status_code=404, detail="¡El usuario no existe!")
async def delete_habitaciones(habitacionid: str): habitaciones_in_db = session.query(HabitacionesInDB).get(habitacionid) if habitaciones_in_db != None: session.delete(habitaciones_in_db) session.commit() return "La Habitación " + str( habitacionid) + " ha sido eliminado satifactoriamente" raise HTTPException(status_code=404, detail="¡La Habitaciones no existe!")
async def update_Habitaciones(habitacion: Habitacion): habitaciones_in_db = session.query(HabitacionesInDB).get( habitacion.habitacionid) stmt = (update(HabitacionesInDB).where( HabitacionesInDB.habitacionid == habitacion.habitacionid).values( habitacionid=habitacion.habitacionid, tipo=habitacion.tipo, disponible=habitacion.disponible, precio=habitacion.precio, descripcion=habitacion.descripcion)) session.execute(stmt) session.commit() return '¡Actualización exitosa!'
async def create_habitaciones(habitacion: Habitacion): habitacionid_in_db = session.query(HabitacionesInDB).get( habitacion.habitacionid) if habitacionid_in_db == None: new_habitaciones = HabitacionesInDB( habitacionid=habitacion.habitacionid, tipo=habitacion.tipo, disponible=habitacion.disponible, precio=habitacion.precio, descripcion=habitacion.descripcion) session.add(new_habitaciones) session.commit() return "La habitación " + str( habitacion.habitacionid) + " ha sido creada sactifactoriamente" else: return 409, 'La habitacion ' + str( habitacion.habitacionid) + ' no se encuentra disponible'
async def update_usuario(usuario: Usuario): usuario_in_db = session.query(UsuarioInDB).get(usuario.username) stmt = (update(UsuarioInDB).where( UsuarioInDB.username == usuario.username).values( contrasena=usuario.contrasena, nombre=usuario.nombre, apellido=usuario.apellido, telefono=usuario.telefono, fecha_nacimiento=usuario.fecha_nacimiento, identificacion=usuario.identificacion, tipo_identificacion=usuario.tipo_identificacion, admin=usuario.admin, correo=usuario.correo)) session.execute(stmt) session.commit() return '¡Actualización exitosa!'
async def create_usaurio(usuario: Usuario): username_in_db = session.query(UsuarioInDB).get(usuario.username) if username_in_db == None: new_usuario = UsuarioInDB( usuarioid=usuario.usuarioid, username=usuario.username, contrasena=usuario.contrasena, nombre=usuario.nombre, apellido=usuario.apellido, fecha_nacimiento=usuario.fecha_nacimiento, telefono=usuario.telefono, identificacion=usuario.identificacion, tipo_identificacion=usuario.tipo_identificacion, admin=usuario.admin, correo=usuario.correo) session.add(new_usuario) session.commit() return "El usuario " + usuario.username + " ha sido creado sactifactoriamente" else: return 409, 'El nombre de usuario ' + usuario.username + ' no se encuentra disponible'
async def search_habitacionesByTipo(tipo: str): tipoHabitaciones_in_db = session.query(HabitacionesInDB).filter_by( tipo=tipo).all() return tipoHabitaciones_in_db
async def Habitaciones(): habitaciones = session.query(HabitacionesInDB).all() return habitaciones
async def usuario(): usuarios = session.query(UsuarioInDB).all() return usuarios