<?php

namespace Modules\Consultation\WebService;

use Helpers\Webservice\Wsdl;

class Consultation
{
    

    // phpcs:ignore
    public function refAo_ACC_REF($array)
    {
        Wsdl::XmlEntities($array);
        
        $xml = "<RefAO_In LngUtilisation='".$_SESSION['Session_Langue']."'>
                    <Utilisateur>".$array['Utilisateur']."</Utilisateur>
                    <NumAO>".$array['NumAO']."</NumAO>
                    <CODE_FOUR>".$array['CODE_FOUR']."</CODE_FOUR>
                    <Mode>".$array['Mode']."</Mode>
                    <Commentaire>".$array['Commentaire']."</Commentaire>
                </RefAO_In>";
        
        return new \Helpers\Webservice\Wsdl('', 'OXALINK_REF_AO_ACC_REF', $xml, false);
    }
    
    
    public function importModele($idAo, $idModele)
    {
        $xml = "<ImportModeleQuestionAOIn LngUtilisation='".$_SESSION['Session_Langue']."'>
    				<Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
    				<NumAO>$idAo</NumAO>
    				<IDModele>$idModele</IDModele>
    			</ImportModeleQuestionAOIn>";

        return new \Helpers\Webservice\Wsdl('Oxaproc_AO.wsdl', 'SRM_AO_IMPORT_MODELE', $xml, false);
    }
    
    
    public function importBibliotheque($idAo, $typeImport, $themeCible = '', $themeBibliotheque = '', $listeQuestion = [])
    {
        
        $listeQuestionXML = '';
        foreach ($listeQuestion as $question) {
            $listeQuestionXML .= "<Question>".$question."</Question>";
        }
        
        $xml = "<ImportBiblioQAOIn LngUtilisation='".$_SESSION['Session_Langue']."'>
					<Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
					<NumAO>$idAo</NumAO>
					<TypeImport>$typeImport</TypeImport>
					<IDThemeCible>$themeCible</IDThemeCible>
					<IDThemeBibli>$themeBibliotheque</IDThemeBibli>
					<ListeQuestions>$listeQuestionXML</ListeQuestions>
				</ImportBiblioQAOIn>";
        
        return new \Helpers\Webservice\Wsdl('Oxaproc_AO.wsdl', 'SRM_AO_IMPORT_QUESTIONS', $xml, false);
    }
    
    public function impressionConsultation($idAo, $typeTarif = false, $tousFournisseur = '', $typeFG = '', $codeFrs = '')
    {
        $xml = "<ImprReponseAOIn LngUtilisation='".$_SESSION['Session_Langue']."'>
                    <Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
                    <NumAO>$idAo</NumAO>
                    <TypeTarif>".($typeTarif ? 'M' : 'D')."</TypeTarif>
                    <TousOuUnFournisseur>$tousFournisseur</TousOuUnFournisseur>
                    <TypeFournisseur>$typeFG</TypeFournisseur>
                    <CodeFournisseur>$codeFrs</CodeFournisseur>
                </ImprReponseAOIn>";
        
        return new \Helpers\Webservice\Wsdl('Oxaproc_AO.wsdl', 'OXAPRC_AO_IMP_REPONSE', $xml, false);
    }
    
    public function valideChoixFrsRetenu($idAo)
    {
        $xml = "<AOIn LngUtilisation='".$_SESSION['Session_Langue']."'>
                    <Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
                    <NumAO>$idAo</NumAO>
                </AOIn>";
        
        return new \Helpers\Webservice\Wsdl('Oxaproc_AO.wsdl', 'OXAPRC_AO_VALCHXFOURN', $xml, false);
    }
    
    public function impressionComparatif($idAO)
    {
        $xml = "<ImpCompAOIn LngUtilisation='".$_SESSION['Session_Langue']."'>
                    <Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
                    <NumAO>$idAO</NumAO>
                </ImpCompAOIn>";
        
        return new \Helpers\Webservice\Wsdl('Oxaproc_AO.wsdl', 'OXAPRC_AO_COMPMOINSDISANT', $xml, false);
    }

    /**
     *
     * @param string $idAo
     * @param array $listeFrs
     */
    //public function sendConsultation($idAo, $parMail, $formatEdition, $tousOuUnFournisseur, $excel, $listeFrs, $frsSelected = null, $typeFGSelected = null)
    public function sendConsultation($idAo, $formatEdition, $listeFrs)
    {
        $xml = "<ImprAOIn LngUtilisation='".$_SESSION['Session_Langue']."'>
                  <Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
                  <NumAO>$idAo</NumAO>
                  <FormatEdition>$formatEdition</FormatEdition>
                  <TousOuUnFournisseur>T</TousOuUnFournisseur>
                  <ListeFournisseurs>";
        
        foreach ($listeFrs as $frs) {
            $xml .= "
                    <Fournisseur>
                        <TypeFournisseur>".$frs['TYPE_FG']."</TypeFournisseur>
                        <CodeFournisseur>".$frs['CODE_FOU']."</CodeFournisseur>
                        <Mail>".$frs['email']."</Mail>
                        <ParMail>".($frs['parMail']? 'true':'false')."</ParMail>
                        <ParExcel>".($frs['formatExcel']? 'true':'false')."</ParExcel>
                        <FormatExcel>".$frs['typeFormatExcel']."</FormatExcel>
                        <VersionFormat>".$frs['versionFormat']."</VersionFormat>
                    </Fournisseur>
            ";
        }
        $xml .= "</ListeFournisseurs>
                </ImprAOIn>";
        
        return new \Helpers\Webservice\Wsdl('Oxaproc_AO.wsdl', 'OXAPRC_IMPRIMEAO', $xml, false);
    }
    
    public function getNumConsultation($codeSte)
    {
        $xml = "<AONumIn LngUtilisation='".$_SESSION['Session_Langue']."'>
                    <CodeSociete>".$codeSte."</CodeSociete>
                </AONumIn>";
        return new \Helpers\Webservice\Wsdl('', 'OXAPRC_AO_DONNE_NUM', $xml, false);
    }
    
    public function importConsultation($idAO, $fichier, $confirmation = false, $date = '00000000')
    {
        $xml = "<ImportRepExcAOIn LngUtilisation='". $_SESSION['Session_Langue']."'>
                        <Utilisateur>".$_SESSION["Session_Login"]."</Utilisateur>
                        <NumAO>$idAO</NumAO>
                        <FichierReponse>$fichier</FichierReponse>
                        <Confirm>".($confirmation? 'true':'false')."</Confirm>
                        ".($confirmation? '<DateARemplacer>' . $date . '</DateARemplacer>':'')."
                    </ImportRepExcAOIn>";
        
        return new \Helpers\Webservice\Wsdl('', 'SRM_AO_IMPORT_REPONSEEXCEL', $xml, false);
    }
}
