<?php

require_once '../modelo/BaseDatos.php';
require_once '../modelo/Sala.php';
require_once '../modelo/Boleto.php';
require_once '../modelo/Venta.php';

class VendedorController {
    private $baseDatos;
    private $sala;
    
    public function __construct($baseDatos) {
        $this->baseDatos = $baseDatos;
    }
    
    public function cargarSala($idSala) {
        $this->sala = $this->baseDatos->cargarSala($idSala);
        return $this->sala;
    }
    
    public function mostrarDisponibilidadAsientos() {
        if ($this->sala) {
            return $this->sala->disponibilidadAsientos();
        }
        return null;
    }
    
    public function seleccionarBoletos($idsBoletos) {
        if ($this->sala) {
            return $this->sala->obtenerBoletosPorId($idsBoletos);
        }
        return [];
    }
    
    public function procesarVenta($boletos, $nombreCliente) {
        $venta = new Venta($nombreCliente);
        $venta->agregarBoletos($boletos);
        
        if (count($venta->getBoletos()) > 0) {
            $resultado = $this->baseDatos->guardarVenta($venta);
            if ($resultado) {
                return $venta->generarComprobante();
            }
        }
        
        return null;
    }
}