1 | <?php |
2 | |
3 | require_once __DIR__ . "/../../lib/php/ProblemDetails.php"; |
4 | require_once __DIR__ . "/../modelo/DetalleDeVenta.php"; |
5 | require_once __DIR__ . "/Bd.php"; |
6 | require_once __DIR__ . "/ventaEnCapturaBusca.php"; |
7 | require_once __DIR__ . "/productoBusca.php"; |
8 | |
9 | |
10 | function detalleDeVentaModifica(DetalleDeVenta $modelo) |
11 | { |
12 | $con = Bd::getConexion(); |
13 | $producto = productoBusca($modelo->producto->id); |
14 | if ($producto === false) { |
15 | $htmlId = htmlentities($modelo->producto->id); |
16 | throw new ProblemDetails( |
17 | status: ProblemDetails::BadRequest, |
18 | type: "/error/productonoencontrado.html", |
19 | title: "Producto no encontrado.", |
20 | detail: "No se encontró ningún producto con el id $htmlId.", |
21 | ); |
22 | } |
23 | $venta = ventaEnCapturaBusca(); |
24 | $venta = ventaEnCapturaBusca(); |
25 | if ($venta === false) |
26 | throw new ProblemDetails( |
27 | status: ProblemDetails::BadRequest, |
28 | type: "/error/ventaencapturanoencontrada.html", |
29 | title: "Venta en captura no encontrada.", |
30 | detail: "No se encontró ninguna venta en captura.", |
31 | ); |
32 | $modelo->venta = $venta; |
33 | $modelo->producto = $producto; |
34 | $modelo->precio = $producto->precio; |
35 | $modelo->valida(); |
36 | $stmt = $con->prepare( |
37 | "UPDATE DET_VENTA |
38 | SET |
39 | DTV_CANTIDAD = :cantidad, |
40 | DTV_PRECIO = :precio |
41 | WHERE |
42 | VENT_ID = :ventId |
43 | AND PROD_ID = :prodId" |
44 | ); |
45 | $stmt->execute( |
46 | [ |
47 | ":ventId" => $venta->id, |
48 | ":prodId" => $producto->id, |
49 | ":cantidad" => $modelo->cantidad, |
50 | ":precio" => $modelo->precio |
51 | ] |
52 | ); |
53 | } |
54 | |