package org.example.demo.praktikum6;

import jakarta.persistence.EntityManager;
import jakarta.persistence.PersistenceContext;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Repository;
import org.springframework.transaction.annotation.Transactional;

@Repository
public class AutoDAO {

    @PersistenceContext
    private EntityManager em;

    @Autowired
    private LogEntryDAO logEntryDAO;

    @Transactional
    public void createAuto(String hersteller, String typ, String kennzeichen) {
        try {
            Auto auto = new Auto();
            auto.hersteller = hersteller;
            auto.typ = typ;
            auto.kennzeichen = kennzeichen;
            em.persist(auto);
            logEntryDAO.createLogEntry("Auto angelegt: " + hersteller + " " + typ + " (" + kennzeichen + ")");
        } catch (Exception e) {
            logEntryDAO.createLogEntry("Fehler beim Anlegen des Autos: " + e.getMessage());
            throw e;
        }
    }
}
