- 
                Notifications
    
You must be signed in to change notification settings  - Fork 0
 
butaca
        Melina Aguilar edited this page Jul 3, 2025 
        ·
        1 revision
      
    La entidad Butaca representa asientos individuales de cine con seguimiento de ubicación y gestión de disponibilidad.
- Gestionar el estado de disponibilidad de cada asiento (ocupado/libre).
 - Mantener información de ubicación física (fila y columna).
 - Categorizar asientos por tipo (común o premium).
 - Proporcionar métodos para cambio de estado controlado.
 
| Atributo | Tipo | Propósito | Validación | 
|---|---|---|---|
id_butaca | 
int | Identificador único | Asignado por BD | 
fila | 
int | Número de fila (1-12) | Rango válido | 
columna | 
int | Número de columna (1-12) | Rango válido | 
categoria | 
str | Tipo de butaca (común/premium) | Valores predefinidos | 
estado | 
bool | Disponibilidad (True=ocupada, False=libre) | Booleano | 
butaca = Butaca(1, 5, 3, "premium", False)  
butaca.set_estado(True)  # Marcar como ocupada  
print(butaca.is_estado())  # True - está ocupadaFuente: Butaca.py:9-11
fila = butaca.get_fila()      # Obtiene número de fila  
columna = butaca.get_columna()  # Obtiene número de columna  
categoria = butaca.get_categoria()  # Obtiene tipo de butacaFuente: Butaca.py:30-34
 def __str__(self): # texto a imprimir de la butaca seleccionada por el cliente
        return f"Categoria: {self.categoria}, Ubicacion: {self.ubicacion}, Estado: {'Ocupada' if self.estado else 'Libre'}"Fuente: Butaca.py:36-37
La entidad Butaca implementa validación básica:
- Los métodos getter/setter proporcionan acceso controlado.
 - La representación textual maneja estados booleanos de forma legible.
 - No implementa validaciones complejas, delegando esto a la capa de servicios.
 
graph TD
    Reserva --> ButacaNode
    ButacaDAO --> ButacaNode
    CineServices --> ButacaNode
    subgraph ButacaSubgraph
        ButacaNode["Butaca
        - fila: int
        - columna: int
        - categoria: str
        - estado: bool"]
    end
    ButacaNode --> TipoButaca["TipoButaca
    COMUN/PREMIUM"]
    ButacaNode --> Ubicacion["Ubicacion
    Value Object"]
    - Con TipoButaca: Determina precios según categoría.
 - Con Ubicacion: Value object para posicionamiento.
 - Con Reserva: Múltiples butacas por reserva.
 - Con ButacaDAO: Persistencia y consultas de disponibilidad.
 - Con CineServices: Visualización de matriz y selección.
 
⬅️ Inicio | Guía General del Sistema | Referencia Técnica | Guía para Desarrolladores ➡️ 
💾 Repositorio: Capybara Films en GitHub
© 2025 Capybara Films — Desarrollado por Carpinchos Programando
                  💾 Repositorio: Capybara Films en GitHub
© 2025 Capybara Films — Desarrollado por Carpinchos Programando
- 🏗️ Arquitectura del Sistema
 - 📄 main.py
 - 📁 data/
 - 📁 daos/
 - 📁 domain/entities/
 - 📁 domain/entities/types
 - 📁 services/
 
- ⚙️ Cómo Instalar y Ejecutar el Proyecto
 - 🛠️ Cómo contribuir
 - 🧪 Probar el Sistema Paso a Paso
 - 🐞 Errores Comunes y Soluciones