package de.subway_surfers.vpr_app;

import Logik.Tagesplan;
import RestAPISchnittstelle.RestApiClient;
import javafx.event.ActionEvent;
import javafx.fxml.FXML;
import javafx.scene.control.Label;
import javafx.scene.layout.GridPane;
import javafx.scene.text.TextAlignment;

import java.text.DateFormat;
import java.time.LocalDate;
import java.util.Date;

public class HauptmenueMitarbeiterView {

    @FXML
    private GridPane wochenplan;
    private String date;
    private String day;
    private String month;
    private String year;

    /**
     * Ruft die Methode zum Befüllen der Ansicht auf der Hauptseite auf
     * @author Max Heer
     */
    public void initialize(){
        wochenuebersichtFuellen();
    }

    /**
     * Methode zum initialisieren und befüllen der Tabelle im Hauptmenü
     * @author Max Heer
     */
    public void wochenuebersichtFuellen(){
        String dateanzeige;
        date = LocalDate.now().toString();
        dateanzeige = date;
        Tagesplan t = new RestApiClient().getGerichteOnTag(date);
        for(int i=0;i<5;i++){
            Label tag = new Label();
            wochenplan.add(tag, i, 0);
            tag.setText(dateanzeige);
            for(int j=0; j<t.getGerichte().size();j++){
                Label name = new Label();
                name.setWrapText(true);
                wochenplan.add(name, i, j+1);
                name.setText(t.getGerichte().get(j).getName());
                name.setPrefHeight(75);
                name.setTextAlignment(TextAlignment.CENTER);
            }
            LocalDate datum = LocalDate.parse(date);
            datum = datum.plusDays(1);
            date = datum.toString();
            dateanzeige = date;
            t = new RestApiClient().getGerichteOnTag(date);
        }
    }

    /**
     * Methode beim klicken auf den Anmeldebutton. Meldet den User ab
     * @param actionEvent
     * @author Samuel Wolff
     */
    public void onAbmelden(ActionEvent actionEvent) {
        VerwaltungApplication.abmelden();
    }

    public void onAccountAnlegenClick(ActionEvent actionEvent) {
        VerwaltungApplication.sceneWechseln("accounterstellung_mitarbeiter.fxml");
    }

    public void onSpeiseplanClick(ActionEvent actionEvent) {
        VerwaltungApplication.sceneWechseln("essensverwaltung_mitarbeiter-view.fxml");
    }

    public void onBestellungenAnzeigen(ActionEvent actionEvent) {
        VerwaltungApplication.sceneWechseln("bestelluebersicht_mitarbeiter-view.fxml");
    }

}
