<?php

namespace Modules\Facture\Controller;

use Helpers\Ariane\Ariane;
use Skeleton\Controller\Controller;
use Modules\Facture\Repository\ArchivageFacture;

class ArchivageFactureController extends Controller
{

    
    public function archivageAction() : string
    {
        $post = $this->request->getParsedBody();
        
        $validator = $this->createValidator();

        $trad = $this->getTranslationService();
        
        if ($post) {
            if ($post['radio_societe']==1) {
                $validator->zoom('Societe', $post['societe'], $trad->t("Société"), $this->pdo);
            }
            
            if ($post['radio_fournisseur']==1) {
                $validator->zoom('Fourniss', $post['fournisseur'], $trad->t("Fournisseur"), $this->pdo);
            }
            
            $validator->isCheck($post['BAP_COMPT']);
            $validator->isCheck($post['MT_TOTREG']);
            $validator->isCheck($post['FAC_LAD']);
            $validator->isCheck($post['REFUSEE']);
            
            $validator->isDate($post['DATE_DEB'], '', '', true, $trad->t("Date de création début"));
            $validator->isDate($post['DATE_FIN'], '', '', true, $trad->t("Date de création fin"));
                
            if ($validator->isValid()) {
                $archivage = new ArchivageFacture($this->pdo);
                $archivage->archivageFacture($post);
                
                $archivage= true;
                return json_encode(
                    [
                        'message'  => $trad->t('Les factures sélectionnées ont été archivées.'),
                    ]
                );
            } else {
                return json_encode(['ok' => false, 'msgErreur' => $validator->getError()]);
            }
        }

        Ariane::generate(0, 'Archivage des factures');

        return $this->renderer->render('@archivage-facture/archivage', [
            'menuActive' => 'Facture',
            'post' => $post,
            
        ]);
    }
}
