/**
  * @name validGetInfoMarche($pData)
  * @return GetMarcheListeReservationVR
  * @desc Test la validite de l'élément
  */
 public static function validGetInfoMarche($pData)
 {
     $lVr = new GetMarcheListeReservationVR();
     //Tests inputs
     if (!isset($pData['id_commande'])) {
         $lVr->setValid(false);
         $lVr->getLog()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getLog()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!is_int((int) $pData['id_commande'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['id_commande'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_207_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_207_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         // Si le marche n'est plus ouvert
         $lCommande = CommandeManager::select($pData['id_commande']);
         if ($lCommande->getArchive() != 0) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_239_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_239_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validGetInfoAchatMarche($pData)
  * @return GetInfoAchatMarcheVR
  * @desc Test la validite de l'élément
  */
 public static function validGetInfoAchatMarche($pData)
 {
     $lVr = new GetMarcheListeReservationVR();
     //Tests inputs
     if (!isset($pData['id_commande'])) {
         $lVr->setValid(false);
         $lVr->getLog()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getLog()->addErreur($lErreur);
     }
     if (!isset($pData['id_adherent'])) {
         $lVr->setValid(false);
         $lVr->getLog()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getLog()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!is_int((int) $pData['id_commande'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         /*if(empty($pData['id_commande'])) {
         			$lVr->setValid(false);
         			$lVr->getLog()->setValid(false);
         			$lErreur = new VRerreur();
         			$lErreur->setCode(MessagesErreurs::ERR_207_CODE);
         			$lErreur->setMessage(MessagesErreurs::ERR_207_MSG);
         			$lVr->getLog()->addErreur($lErreur);	
         		}*/
         if ($pData['id_adherent'] != 0 && empty($pData['id_adherent'])) {
             $lVr->setValid(false);
             $lVr->getLog()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getLog()->addErreur($lErreur);
         }
         if ($pData['id_commande'] != -1) {
             // Si ce n'est pas la caisse permanente
             // Si le marche n'est plus ouvert
             $lCommande = CommandeManager::select($pData['id_commande']);
             if ($lCommande->getArchive() != 0) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_239_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_239_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
         }
         if ($pData["id_adherent"] != 0) {
             // Si ce n'est pas le compte invité
             // Test si l'adhérent existe
             $lAdherent = AdherentViewManager::select($pData["id_adherent"]);
             if ($lAdherent->getAdhId() != $pData["id_adherent"]) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
         }
         /*$lIdReservation = new IdReservationVO();
         			$lIdReservation->setIdCompte($lAdherent->getAdhIdCompte());
         			$lIdReservation->setIdCommande($pData['id_commande']);
         			
         			$lReservationService = new ReservationService();
         			$lOperations = $lReservationService->selectOperationReservation($lIdReservation);
         			$lOperation = $lOperations[0];
         			$lIdOperation = $lOperation->getId();			
         
         			// Si il y a bien une réservation existante
         			if(is_null($lIdOperation) || $lOperation->getTypePaiement() != 0) {
         				$lVr->setValid(false);
         				$lVr->getLog()->setValid(false);
         				$lErreur = new VRerreur();
         				$lErreur->setCode(MessagesErreurs::ERR_238_CODE);
         				$lErreur->setMessage(MessagesErreurs::ERR_238_MSG);
         				$lVr->getLog()->addErreur($lErreur);
         			}*/
     }
     return $lVr;
 }