feat: creacion e implementacion de archivo encargado de procesar los registros
This commit is contained in:
parent
bef6fc18d0
commit
6e8afe9501
controlador
|
@ -0,0 +1,62 @@
|
|||
<?php
|
||||
require_once '../modelo/BaseDatos.php';
|
||||
require_once '../modelo/Venta.php';
|
||||
require_once '../modelo/Boleto.php';
|
||||
require_once '../modelo/Sala.php';
|
||||
|
||||
error_reporting(E_ALL);
|
||||
ini_set('display_errors', 1);
|
||||
|
||||
// Configuración de la base de datos
|
||||
$host = 'localhost';
|
||||
$usuario = 'root';
|
||||
$password = 'password';
|
||||
$nombreBD = 'boletos_db';
|
||||
$bd = new BaseDatos($host, $usuario, $password, $nombreBD);
|
||||
|
||||
// Verificar que los datos fueron recibidos correctamente
|
||||
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
|
||||
$nombreCliente = $_POST['nombre_cliente'] ?? '';
|
||||
$asientosSeleccionados = $_POST['asientos'] ?? [];
|
||||
$idSala = 1; // Asegúrate de que el ID de la sala está definido
|
||||
|
||||
if (empty($nombreCliente) || empty($asientosSeleccionados) || !$idSala) {
|
||||
echo json_encode(['success' => false, 'message' => 'Datos incompletos']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Cargar la sala desde la base de datos
|
||||
$sala = $bd->cargarSala($idSala);
|
||||
if (!$sala) {
|
||||
echo json_encode(['success' => false, 'message' => 'Sala no encontrada']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Obtener los boletos seleccionados
|
||||
$boletosDisponibles = $sala->obtenerBoletosPorId($asientosSeleccionados);
|
||||
if (count($boletosDisponibles) !== count($asientosSeleccionados)) {
|
||||
echo json_encode(['success' => false, 'message' => 'Uno o más boletos no están disponibles']);
|
||||
exit;
|
||||
}
|
||||
|
||||
// Calcular el total de la venta
|
||||
$total = array_reduce($boletosDisponibles, function($sum, $boleto) {
|
||||
return $sum + $boleto->getPrecio();
|
||||
}, 0);
|
||||
|
||||
// Crear una nueva venta
|
||||
$venta = new Venta($nombreCliente);
|
||||
$venta->agregarBoletos($boletosDisponibles);
|
||||
|
||||
// Guardar la venta en la base de datos
|
||||
if ($bd->guardarVenta($venta)) {
|
||||
echo json_encode(['success' => true, 'message' => 'Venta realizada con éxito', 'total' => $total]);
|
||||
} else {
|
||||
echo json_encode(['success' => false, 'message' => 'Error al registrar la venta']);
|
||||
}
|
||||
} else {
|
||||
echo json_encode(['success' => false, 'message' => 'Método no permitido']);
|
||||
}
|
||||
|
||||
$bd->cerrarConexion();
|
||||
?>
|
Loading…
Reference in New Issue