barbershop / cruds /TarifaCrud.py
winderoman's picture
Add application file
35c6a2c
raw
history blame contribute delete
No virus
2.56 kB
import sys
from models.TarifaM import Tarifa
from fastapi import HTTPException
from schemas.TarifaSh import *
from sqlalchemy.orm import Session
from sqlalchemy import desc
from datetime import datetime
def create_new_tarifa(tarifa_create:TarifaCreate,id_usuario:str,fecha_hora:datetime,db:Session):
db_tarifa = Tarifa(
id_usuario = id_usuario,
descripcion = tarifa_create.descripcion,
costo = tarifa_create.costo,
created_at = fecha_hora
)
try:
db.add(db_tarifa)
db.commit()
db.refresh(db_tarifa)
db.close()
return db_tarifa
except Exception as e :
db.rollback()
# Imprimir el error en la consola
print(f"Error al crear una tarifa: {str(e)}",file=sys.stderr)
raise HTTPException(status_code=500,detail=f"Error al crear una tarifa: {str(e)} ")
def get_all_tarifas(db:Session,id_usuario:str):
tarifas = db.query(Tarifa).filter(Tarifa.id_usuario == id_usuario,Tarifa.estado_tarifa == 1).order_by(desc(Tarifa.created_at)).all()
if tarifas is None:
return None
return tarifas
def get_tarifa_by_id(id_tarifa:int,db:Session):
tarifa_db = db.query(Tarifa).filter(Tarifa.id_tarifa == id_tarifa).first()
return tarifa_db
def tarifa_update(tarifaUpdate:TarifaUpdate,db:Session):
tarifa_db = get_tarifa_by_id(tarifaUpdate.id_tarifa,db)
if tarifa_db:
try:
tarifa_db.descripcion = tarifaUpdate.descripcion
tarifa_db.costo = tarifaUpdate.costo
db.add(tarifa_db)
db.commit()
db.refresh(tarifa_db)
return tarifa_db
except Exception as e :
db.rollback()
print(f"Error al crear un usuario: {str(e)}",file=sys.stderr)
raise HTTPException(status_code=500,detail=f"Error al crear usuario: {str(e)} ")
raise HTTPException(status_code=404, detail="No existen tarifas")
def delete_tarifa(tarifaUpdateStatus:TarifaBase,db:Session):
tarifa_db = get_tarifa_by_id(tarifaUpdateStatus.id_tarifa,db)
if tarifa_db:
try:
tarifa_db.estado_tarifa = False
db.add(tarifa_db)
db.commit()
db.refresh(tarifa_db)
return tarifa_db
except Exception as e:
db.rollback()
print(f"Error al Editar Estado: {str(e)}",file=sys.stderr)
raise HTTPException(status_code=500,detail=f"Error al Editar usuario: {str(e)} ")
raise HTTPException(status_code=404, detail="No existe la tarifas")