"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Deutsch = exports.Deutsch = void 0;
const GostFachbereich_1 = require("../../../../core/types/gost/GostFachbereich");
const GostSchriftlichkeit_1 = require("../../../../core/types/gost/GostSchriftlichkeit");
const GostHalbjahr_1 = require("../../../../core/types/gost/GostHalbjahr");
const GostBelegpruefung_1 = require("../../../../core/abschluss/gost/GostBelegpruefung");
const GostBelegungsfehler_1 = require("../../../../core/abschluss/gost/GostBelegungsfehler");
class Deutsch extends GostBelegpruefung_1.GostBelegpruefung {
    deutsch = null;
    /**
     * Erstellt eine neue Belegprüfung für das Fach Deutsch.
     *
     * @param manager         der Daten-Manager für die Abiturdaten
     * @param pruefungs_art   die Art der durchzuführenden Prüfung (z.B. EF.1 oder GESAMT)
     */
    constructor(manager, pruefungs_art) {
        super(manager, pruefungs_art);
    }
    init() {
        this.deutsch = this.manager.getFachbelegung(GostFachbereich_1.GostFachbereich.DEUTSCH);
    }
    pruefeEF1() {
        if ((this.deutsch === null) || !this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(this.deutsch, GostSchriftlichkeit_1.GostSchriftlichkeit.BELIEBIG, GostHalbjahr_1.GostHalbjahr.EF1)) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.D_10);
            return;
        }
        if (!this.manager.pruefeBelegungMitSchriftlichkeitEinzeln(this.deutsch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1))
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.D_11);
    }
    pruefeGesamt() {
        if (this.deutsch === null) {
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.D_10);
            return;
        }
        if (!this.manager.pruefeBelegung(this.deutsch, GostHalbjahr_1.GostHalbjahr.EF1, GostHalbjahr_1.GostHalbjahr.EF2, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21, GostHalbjahr_1.GostHalbjahr.Q22))
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.D_10);
        if (!this.manager.pruefeBelegungMitSchriftlichkeit(this.deutsch, GostSchriftlichkeit_1.GostSchriftlichkeit.SCHRIFTLICH, GostHalbjahr_1.GostHalbjahr.EF1, GostHalbjahr_1.GostHalbjahr.EF2, GostHalbjahr_1.GostHalbjahr.Q11, GostHalbjahr_1.GostHalbjahr.Q12, GostHalbjahr_1.GostHalbjahr.Q21))
            this.addFehler(GostBelegungsfehler_1.GostBelegungsfehler.D_11);
    }
    isTranspiledInstanceOf(name) {
        return ['de.nrw.schule.svws.core.abschluss.gost.GostBelegpruefung', 'de.nrw.schule.svws.core.abschluss.gost.belegpruefung.Deutsch'].includes(name);
    }
}
exports.Deutsch = Deutsch;
function cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Deutsch(obj) {
    return obj;
}
exports.cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Deutsch = cast_de_nrw_schule_svws_core_abschluss_gost_belegpruefung_Deutsch;
//# sourceMappingURL=Deutsch.js.map