/**
  * @name validUpdate($pData)
  * @return AfficheReservationAdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdate($pData)
 {
     $lTestId = AfficheReservationAdherentValid::validDelete($pData);
     if ($lTestId->getValid()) {
         $lVr = new AfficheReservationAdherentVR();
         //Tests inputs
         if (!isset($pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getId_adherent()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId_adherent()->addErreur($lErreur);
         }
         if (!isset($pData['id_commande'])) {
             $lVr->setValid(false);
             $lVr->getId_commande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId_commande()->addErreur($lErreur);
         }
         if ($lVr->getValid()) {
             //Tests Techniques
             if (!TestFonction::checkLength($pData['id_adherent'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getId_adherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getId_adherent()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['id_adherent'])) {
                 $lVr->setValid(false);
                 $lVr->getId_adherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
                 $lVr->getId_adherent()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['id_commande'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getId_commande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getId_commande()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['id_commande'])) {
                 $lVr->setValid(false);
                 $lVr->getId_commande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
                 $lVr->getId_commande()->addErreur($lErreur);
             }
             //Tests Fonctionnels
             if (empty($pData['id_adherent'])) {
                 $lVr->setValid(false);
                 $lVr->getId_adherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getId_adherent()->addErreur($lErreur);
             }
             if (empty($pData['id_commande'])) {
                 $lVr->setValid(false);
                 $lVr->getId_commande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getId_commande()->addErreur($lErreur);
             }
             $lAdherent = AdherentViewManager::select($pData['id_adherent']);
             if ($lAdherent->getAdhId() != $pData['id_adherent']) {
                 $lVr->setValid(false);
                 $lVr->getId_adherent()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getId_adherent()->addErreur($lErreur);
             }
             $lCommande = CommandeManager::select($pData['id_commande']);
             if ($lCommande->getId() != $pData['id_commande']) {
                 $lVr->setValid(false);
                 $lVr->getId_commande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getId_commande()->addErreur($lErreur);
             }
         }
         return $lVr;
     }
     return $lTestId;
 }
 /**
  * @name getDetailProduit($pParam)
  * @return DetailProduitResponse
  * @desc Retourne le détail d'un produit
  */
 public function getDetailProduit($pParam)
 {
     $lVr = AfficheReservationAdherentValid::validGetDetailProduit($pParam);
     if ($lVr->getValid()) {
         $lId = $pParam['id'];
         $lProduit = ProduitManager::select($lId);
         $lIdNomProduit = $lProduit->getIdNomProduit();
         $lNomProduit = NomProduitViewManager::select($lProduit->getIdNomProduit($lIdNomProduit));
         $lNomProduit = $lNomProduit[0];
         $lNomProduitCatalagueVO = new NomProduitCatalogueVO();
         $lNomProduitCatalagueVO->setId($lNomProduit->getNProIdFerme());
         $lNomProduitCatalagueVO->setCproNom($lNomProduit->getCproNom());
         $lNomProduitCatalagueVO->setNom($lNomProduit->getNProNom());
         $lNomProduitCatalagueVO->setDescription($lNomProduit->getNProDescription());
         $lProducteurs = NomProduitProducteurViewManager::select($lIdNomProduit);
         $lNomProduitCatalagueVO->setProducteurs($lProducteurs);
         $lCaracteristiques = CaracteristiqueProduitViewManager::select($lIdNomProduit);
         $lNomProduitCatalagueVO->setCaracteristiques($lCaracteristiques);
         $lResponse = new DetailProduitResponse();
         $lResponse->setProduit($lNomProduitCatalagueVO);
         return $lResponse;
     }
     return $lVr;
 }