3. srv / bd / detalleDeVentaAgrega.php

1<?php
2
3require_once __DIR__ . "/../../lib/php/ProblemDetails.php";
4require_once __DIR__ . "/../modelo/DetalleDeVenta.php";
5require_once __DIR__ . "/Bd.php";
6require_once __DIR__ . "/ventaEnCapturaBusca.php";
7require_once __DIR__ . "/productoBusca.php";
8
9function 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
skip_previous skip_next