async def create_product(product_create: ProductCreate): #Totas las comprobaciones Necesarias product_create = get_product(product_create.codigo) if product_create != None: raise HTTPException(status_code=400, detail="El producto ya existe") product_saved = save_product(ProductsInDB(**product_create.dict())) return ProductOut(**product_saved.dict())
async def update_product(product_create: ProductCreate): product_in_db = get_product(product_create.codigo) if product_in_db == None: raise HTTPException(status_code=404, detail="El producto no encontrado") product_updated = save_product(ProductsInDB(**product_create.dict())) return ProductOut(**product_updated.dict())
async def create_product(product_in: ProductIn): #Todas las comprobaciones Necesarias product_in_db = get_product(product_in.bar_code) if product_in_db != None: raise HTTPException(status_code=400, detail="La Categoria ya existe") #Guardando Categoria product_saved = save_product(ProductsInDB(**product_in.dict())) return ProductOut2(**product_saved.dict())
async def update_product(product_in: ProductIn): #Buscar la categoria en la base datos product_in_db = get_product(product_in.bar_code) #Comprobar la respuesta if product_in_db == None: raise HTTPException(status_code=404, detail="Producto no encontrado") #Actualizar product product_updated = save_product(ProductsInDB(**product_in.dict())) #Retornando Respuesta return ProductOut(**product_updated.dict())
async def update_stock_product(product_in: ProductIn2): #Buscar la categoria en la base datos product_in_db = database_products[product_in.bar_code] #Comprobar la respuesta if product_in_db == None: raise HTTPException(status_code=404, detail="Producto no encontrado") stockActual = product_in_db.stock stockVenta = product_in.stock stockNuevo = stockActual - stockVenta if stockNuevo < 0: raise HTTPException(status_code=400, detail="Stock insuficiente") product_in_db.stock = stockNuevo #Actualizar product updated_product = save_product(product_in_db) #Retornando Respuesta return ProductOut(**updated_product.dict())