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 | function detalleDeVentaAgrega(DetalleDeVenta $modelo) |
10 | { |
11 | $con = Bd::getConexion(); |
12 | $producto = productoBusca($modelo->producto->id); |
13 | if ($producto === false) { |
14 | $htmlId = htmlentities($modelo->producto->id); |
15 | throw new ProblemDetails( |
16 | status: ProblemDetails::BadRequest, |
17 | type: "/error/productonoencontrado.html", |
18 | title: "Producto no encontrado.", |
19 | detail: "No se encontró ningún producto con el id $htmlId.", |
20 | ); |
21 | } |
22 | $venta = ventaEnCapturaBusca(); |
23 | if ($venta === false) |
24 | throw new ProblemDetails( |
25 | status: ProblemDetails::BadRequest, |
26 | type: "/error/ventaencapturanoencontrada.html", |
27 | title: "Venta en captura no encontrada.", |
28 | detail: "No se encontró ninguna venta en captura.", |
29 | ); |
30 | $modelo->venta = $venta; |
31 | $modelo->precio = $producto->precio; |
32 | $modelo->producto = $producto; |
33 | $modelo->valida(); |
34 | $stmt = $con->prepare( |
35 | "INSERT INTO DET_VENTA |
36 | (VENT_ID, PROD_ID, DTV_CANTIDAD, DTV_PRECIO) |
37 | VALUES |
38 | (:ventId, :prodId, :cantidad, :precio)" |
39 | ); |
40 | $stmt->execute( |
41 | [ |
42 | ":ventId" => $venta->id, |
43 | ":prodId" => $producto->id, |
44 | ":cantidad" => $modelo->cantidad, |
45 | ":precio" => $producto->precio |
46 | ] |
47 | ); |
48 | } |
49 | |