<?php
namespace Modules\EtatStatistiques;

use Modules\EtatStatistiques\Controller\EtatStatTableauController;
use Skeleton\Router;
use Skeleton\Module;
use Skeleton\Renderer\RendererInterface;
use Psr\Container\ContainerInterface;
use Modules\EtatStatistiques\Controller\GestionStatistiquesController;
use Helpers\Parametres\Parametres;
use Modules\EtatStatistiques\Controller\AjaxListeController;

class EtatStatistiquesModule extends Module
{

    const DEFINITIONS = __DIR__ . '/config.php';

    public function __construct(ContainerInterface $container)
    {
        $container->get(RendererInterface::class)->addPath('EtatStatistiques', __DIR__ . '/views');
        

        $parametres = new Parametres();
        $user_expr = $parametres->expression_user_code;

        $router = $container->get(Router::class);
        $base_url = $container->get('baseUrl') . $container->get('EtatStatistiques.prefix');
        
        $router->get($base_url. '/listeEtats', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.listeEtats');

        $router->get($base_url. '/detailEtat/{codEtat:[A-Za-z0-9_-]+}', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.detailEtat');
        
        $router->get($base_url. '/chargeFichierEtat/{codEtat:[A-Za-z0-9_-]+}', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.chargeFichierEtat');

        $router->get($base_url. '/detailEtatWsdl/{codEtat:[A-Za-z0-9_-]+}', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.detailEtatWsdl');

        $router->get($base_url. '/afficherListe/{codEtat:[A-Za-z0-9_-]+}', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.ajaxAfficher');

        $router->get($base_url. '/detailEtat/ajax/input/{codEtat:[A-Za-z0-9_-]+}', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.ajaxInputDetail');
        
        $router->get($base_url. '/afficherListeWsdl/{codEtat:[A-Za-z0-9_-]+}', GestionStatistiquesController::class, 'EtatStatistiques.GestionStatistique.ajaxAfficherWsdl');

        // AJAX_____LISTE
        $router->get($base_url. '/utilisateurEtatStat/{userCode:'.$user_expr.'}', AjaxListeController::class, 'EtatStatistique.ajaxListe.utilisateurEtatStat');
        $router->get($base_url. '/acheteurEtatStat/{memo:[A-Za-z0-9_-]+}/{bdd:[A-Za-z0-9_-]+}', AjaxListeController::class, 'EtatStatistique.ajaxListe.acheteurEtatStat');
        $router->get($base_url. '/csNonCoche', AjaxListeController::class, 'EtatStatistique.ajaxListe.csNonCoche');
        $router->get($base_url. '/csCoche', AjaxListeController::class, 'EtatStatistique.ajaxListe.csCoche');

        $router->get($base_url. '/utilisateurEtatStatMulti/{userCode:'.$user_expr.'}', AjaxListeController::class, 'EtatStatistique.ajaxListe.userEtatStatMulti');
        $router->get($base_url. '/acheteurEtatStatMulti/{memo:[A-Za-z0-9_-]+}/{bdd:[A-Za-z0-9_-]+}', AjaxListeController::class, 'EtatStatistique.ajaxListe.acheteurEtatStatMulti');
        
        //_________________

        //_________VALIDATOR LISTE_______________

        $router->get($base_url. '/listeUtilisateurEtatStat', AjaxListeController::class, 'EtatStatistique.ajaxListe.validatorUtilisateurEtatStat');
        $router->get($base_url. '/listeAcheteurEtatStat', AjaxListeController::class, 'EtatStatistique.ajaxListe.validatorAcheteurEtatStat');
        $router->get($base_url. '/listeCsNonCoche', AjaxListeController::class, 'EtatStatistique.ajaxListe.validatorCsNonCoche');
        $router->get($base_url. '/listeCsCoche', AjaxListeController::class, 'EtatStatistique.ajaxListe.validatorCsCoche');

        //_________VALIDATOR LISTE_______________

        $router->get($base_url. '/etatstat-tab/{id:[A-Za-z0-9_-]+}', EtatStatTableauController::class, 'EtatStatistique.Tableau.detail');
    }
}
