<?php

namespace Modules\Facture\WebService;

class ImportationFacture
{
   
    /**
     * Va nous retourner la liste des facture à importer
     * @return mixed
     */
    public static function listeFacture()
    {
        $xml =  '<LAD_ListeFactures_In LngUtilisation="'.htmlspecialchars($_SESSION['Session_Langue']).'">
                    <Utilisateur>'.$_SESSION['Session_Login'].'</Utilisateur>
                </LAD_ListeFactures_In>';

        return new \Helpers\Webservice\Wsdl('Oxaproc_Gen.wsdl', 'OXAPRC_LAD_LISTE_FACT', $xml, false);
    }

    /**
     * transferFacture
     * @param mixed $numRecord
     * @param mixed $fichierXML
     * @return mixed
     */
    public static function transferFacture($checkBox = [], $numRecord = null, $fichierXML = null)
    {
        $xml =  '<LAD_Acquisition_Factures_In LngUtilisation="'.htmlspecialchars($_SESSION['Session_Langue']).'">
                    <Utilisateur>'.$_SESSION['Session_Login'].'</Utilisateur>
                    <ListeFactures>';
        if ($numRecord != '' && $fichierXML != '') {
            $xml .= '<Facture>
                        <FichierXml>'.$fichierXML.'</FichierXml>
                        <NumRecord>'.$numRecord.'</NumRecord>
                        </Facture>';
        } else {
            if (is_array($checkBox)) {
                for ($i=0; $i<count($checkBox); $i++) {
                    $explodedValueCheckbox = explode('$', $checkBox[$i]);
    
                    $xml .= '<Facture>
                                <NumRecord>'.$explodedValueCheckbox[0].'</NumRecord>
                                <FichierXml>'.$explodedValueCheckbox[1].'</FichierXml>
                                </Facture>';
                }
            }
        }
                       
                    $xml .=  "</ListeFactures>

                </LAD_Acquisition_Factures_In>";
        

        return new \Helpers\Webservice\Wsdl('Oxaproc_Gen.wsdl', 'OXAPRC_ACQUISITION_LAD', $xml, false);
    }

    

    /**
     *  On utilise cette fonction dans le cas ou on veux archiver une facture une par une 'CHOIX DE LA ROUE DENTE'
     * @param mixed $fichierXML
     * @return mixed
     */
    public static function archiverFacture($fichierXML)
    {

        $xml =  '<LAD_Archivage_In  LngUtilisation="'.htmlspecialchars($_SESSION['Session_Langue']).'">
                    <Utilisateur>'.$_SESSION['Session_Login'].'</Utilisateur>
                    <FichierXml>'.$fichierXML.'</FichierXml> 
                </LAD_Archivage_In>';
        
        return new \Helpers\Webservice\Wsdl('Oxaproc_Gen.wsdl', 'OXAPRC_LAD_ARCHIVAGE', $xml, false);
    }

    /**
     * annulerTransfertFacture
     * @param mixed $fichierXML
     * @return mixed
     */
    public static function annulerTransfertFacture($fichierXML)
    {
        // TODO CE N'EST PAS CE WSDL QUI DOIT ÊTRE APPELE - A MODIFIER LORSQUE LE WSDL SERA CREE
        $xml =  '<LAD_ListeFactures_In LngUtilisation="'.htmlspecialchars($_SESSION['Session_Langue']).'">
                    <Utilisateur>'.$_SESSION['Session_Login'].'</Utilisateur>
                    <FichierXml>'.$fichierXML.'</FichierXml> 
                </LAD_ListeFactures_In>';

        return new \Helpers\Webservice\Wsdl('Oxaproc_Gen.wsdl', 'OXAPRC_LAD_ANNULEARCHIVAGE', $xml, false);
    }
        
    /**
     * annulerArchivageFacture
     * @param mixed $fichierXML
     * @return mixed
     */
    public static function annulerArchivageFacture($fichierXML)
    {
        $xml =  '<LAD_AnnuleArchivage_In LngUtilisation="'.htmlspecialchars($_SESSION['Session_Langue']).'">
                    <Utilisateur>'.$_SESSION['Session_Login'].'</Utilisateur>
                    <FichierXml>'.$fichierXML.'</FichierXml> 
                </LAD_AnnuleArchivage_In>';

        return new \Helpers\Webservice\Wsdl('Oxaproc_Gen.wsdl', 'OXAPRC_LAD_ANNULEARCHIVAGE', $xml, false);
    }
}
