package de.accso.flexinale.application.services;

import de.accso.flexinale.domain.model.Besucher;
import de.accso.flexinale.domain.model.Ticket;
import de.accso.flexinale.shared_kernel.Identifiable;
import jakarta.transaction.Transactional;

import java.util.List;

@Transactional
public class TicketService {

    private final de.accso.flexinale.domain.services.TicketService ticketService;

    public TicketService(de.accso.flexinale.domain.services.TicketService ticketService) {
        this.ticketService = ticketService;
    }

    public List<Ticket> findByBesucherOrderByZeit(Besucher loggedInBenutzer) {
        return ticketService.findByBesucherOrderByZeit(loggedInBenutzer);
    }

    public int gesamtZahlDerTicketsFuer(Besucher loggedInBenutzer) {
        return ticketService.gesamtZahlDerTicketsFuer(loggedInBenutzer);
    }

    public void loeseGutscheineOnlineFuerVorfuehrungEin(Identifiable.Id vorfuehrungId, Besucher loggedInBesucher, int anzahl) {
        ticketService.loeseGutscheineOnlineFuerVorfuehrungEin(vorfuehrungId, loggedInBesucher, anzahl);
    }
}
