<?php

namespace Controllers;

use Bases\Controller;
use Models\Menu;

class MenuController extends Controller
{
    /**
     * Affiche la page Le menu 
     * 
     *
     */
    public function index()
    {


        // Récupération de tout le menu
        $menu = (new Menu)->toutMenu();
        $this->vue("menus/index", [
            "menus" => $menu
        ]);
    }

    /**
     * Ajouter un plat 
     * 
     * 
     */
    public function store()
    {
        // Route protégée: l'utilisateur doit être connecté et la requête doit être en POST
        if (empty($_SESSION["utilisateur_id"])) {
            $this->rediriger("index");
        }

        // Validation des champs attendus
        if (
            empty($_POST["categorie_id"]) ||
            empty($_POST["nom"]) ||
            empty($_POST["description"]) ||
            empty($_POST["prix"]) ||
            empty($_POST["image"])
        ) {
            $this->rediriger("utilisateur-index?info_requises");
        }

        // Création du plat
        if (!(new Menu)->ajouter($_POST["categorie_id"], $_POST["nom"], $_POST["description"], $_POST["prix"], $_POST["image"])) {
            $this->rediriger("utilisateur-index?echec_ajout");
        }

        $this->rediriger("utilisateur-index?succes_ajout");
    }

    /**
     * Modifier un plat
     * 
     * 
     */
    public function Update()
    {
        // Route protégée: l'utilisateur doit être connecté et la requête doit être en POST
        if (empty($_SESSION["utilisateur_id"])) {
            $this->rediriger("index");
        }

        // Validation des champs attendus
        if (
            empty($_POST["plat_id"]) ||
            empty($_POST["categorie_id"]) ||
            empty($_POST["nom"]) ||
            empty($_POST["description"]) ||
            empty($_POST["prix"]) ||
            empty($_POST["image"])
        ) {
            $this->rediriger("utilisateur-index?info_requises");
        }
        
        // Modifier le plat
        if (!(new Menu)->modifier($_POST["plat_id"], $_POST["nom"], $_POST["description"], $_POST["prix"], $_POST["image"], $_POST["categorie_id"])) {
            $this->rediriger("utilisateur-index?echec_modification");
        }

        $this->rediriger("utilisateur-index?succes_modification");
    }


    /**
     * Supprimer un plat 
     *
     * 
     */
    public function delete()
    {
        $succes = (new Menu)->supprimer($_POST["plat_id"]);

        if (!$succes) {
            $this->rediriger("utilisateur-index?echec_suppression");  
        }

        $this->rediriger("utilisateur-index?succes_suppression");
    }
}
