/**
  * @name validAjout($pData)
  * @return ProduitAjoutAchatVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new ProduitAjoutAchatVR();
     //Tests inputs
     if (!isset($pData['idCompte'])) {
         $lVr->setValid(false);
         $lVr->getIdCompte()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdCompte()->addErreur($lErreur);
     }
     if (!isset($pData['idMarche'])) {
         $lVr->setValid(false);
         $lVr->getIdMarche()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdMarche()->addErreur($lErreur);
     }
     if (!isset($pData['idOperation'])) {
         $lVr->setValid(false);
         $lVr->getIdOperation()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdOperation()->addErreur($lErreur);
     }
     if (!isset($pData['idNomProduit'])) {
         $lVr->setValid(false);
         $lVr->getIdNomProduit()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdNomProduit()->addErreur($lErreur);
     }
     if (!isset($pData['quantite'])) {
         $lVr->setValid(false);
         $lVr->getQuantite()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getQuantite()->addErreur($lErreur);
     }
     if (!isset($pData['prix'])) {
         $lVr->setValid(false);
         $lVr->getPrix()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getPrix()->addErreur($lErreur);
     }
     if (!isset($pData['solidaire'])) {
         $lVr->setValid(false);
         $lVr->getSolidaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getSolidaire()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['idCompte'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idMarche'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdMarche()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdMarche()->addErreur($lErreur);
         }
         if ($pData['idMarche'] != '' && !is_int((int) $pData['idMarche'])) {
             $lVr->setValid(false);
             $lVr->getIdMarche()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdMarche()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idOperation'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdOperation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdOperation()->addErreur($lErreur);
         }
         if ($pData['idOperation'] != '' && !is_int((int) $pData['idOperation'])) {
             $lVr->setValid(false);
             $lVr->getIdOperation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdOperation()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idNomProduit'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdNomProduit()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdNomProduit()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idNomProduit'])) {
             $lVr->setValid(false);
             $lVr->getIdNomProduit()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdNomProduit()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['quantite'], 0, 12) || $pData['quantite'] > 999999999.99) {
             $lVr->setValid(false);
             $lVr->getQuantite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getQuantite()->addErreur($lErreur);
         }
         if (!is_float((double) $pData['quantite'])) {
             $lVr->setValid(false);
             $lVr->getQuantite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
             $lVr->getQuantite()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['prix'], 0, 12) || $pData['prix'] > 999999999.99) {
             $lVr->setValid(false);
             $lVr->getPrix()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getPrix()->addErreur($lErreur);
         }
         if (!is_float((double) $pData['prix'])) {
             $lVr->setValid(false);
             $lVr->getPrix()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
             $lVr->getPrix()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['solidaire'], 0, 1)) {
             $lVr->setValid(false);
             $lVr->getSolidaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getSolidaire()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['solidaire'])) {
             $lVr->setValid(false);
             $lVr->getSolidaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getSolidaire()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         if (empty($pData['idNomProduit'])) {
             $lVr->setValid(false);
             $lVr->getIdNomProduit()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdNomProduit()->addErreur($lErreur);
         }
         if (empty($pData['quantite'])) {
             $lVr->setValid(false);
             $lVr->getQuantite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getQuantite()->addErreur($lErreur);
         }
         if (empty($pData['prix'])) {
             $lVr->setValid(false);
             $lVr->getPrix()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getPrix()->addErreur($lErreur);
         }
         if ($pData['solidaire'] != 0 && empty($pData['solidaire'])) {
             $lVr->setValid(false);
             $lVr->getSolidaire()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getSolidaire()->addErreur($lErreur);
         }
         // Si c'est sur un marché il doit exister est être ouvert
         if (!empty($pData['idMarche'])) {
             $lCommande = CommandeManager::select($pData['idMarche']);
             if ($lCommande->getId() != $pData['idMarche']) {
                 $lVr->setValid(false);
                 $lVr->getIdMarche()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getIdMarche()->addErreur($lErreur);
             }
             // Le marche doit être ouvert
             if ($lCommande->getArchive() != 0) {
                 $lVr->setValid(false);
                 $lVr->getIdMarche()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_239_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_239_MSG);
                 $lVr->getIdMarche()->addErreur($lErreur);
             }
         }
         // Si c'est sur un opération elle doit exister
         if (!empty($pData['idOperation'])) {
             $lOperationService = new OperationService();
             if (!$lOperationService->existe($pData['idOperation'])) {
                 $lVr->setValid(false);
                 $lVr->getIdOperation()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getIdOperation()->addErreur($lErreur);
             }
         }
         // Le compte existe
         $lCompteService = new CompteService();
         if (!$lCompteService->existe($pData['idCompte'])) {
             $lVr->setValid(false);
             $lVr->getIdCompte()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getIdCompte()->addErreur($lErreur);
         }
         // Le produit existe
         $lNomProduit = NomProduitManager::select($pData['idNomProduit']);
         if ($lNomProduit->getId() == null) {
             $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);
         }
         // Les quantité sont négatives
         if ($pData['quantite'] >= 0) {
             $lVr->setValid(false);
             $lVr->getQuantite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getQuantite()->addErreur($lErreur);
         }
         // Le prix est négatif
         if ($pData['prix'] >= 0) {
             $lVr->setValid(false);
             $lVr->getPrix()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getPrix()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validUpdateMarche($pData)
  * @return AchatCommandeVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdateMarche($pData)
 {
     $lVr = new AchatCommandeVR();
     //Tests Fonctionnels
     // Adhérent doit avoir soit un achat soit un rechargement à minima
     if ($pData['idCompte'] != -3 && (empty($pData['rechargement']['montant']) || $pData['rechargement']['montant'] == 0) && empty($pData['idAchat'])) {
         $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);
     }
     // Compte invité doit avoir un achat
     if ($pData['idCompte'] == -3 && empty($pData['idAchat'])) {
         $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 achat il faut le vérifier
     if ($lVr->getValid(false) && !empty($pData['idAchat'])) {
         $lOperationService = new OperationService();
         $lValid = true;
         foreach ($pData['idAchat'] as $lIdAchat) {
             $lValid &= $lOperationService->existe($lIdAchat);
         }
         if (!$lValid) {
             $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);
         }
     }
     return $lVr;
 }
 /**
  * @name validGetAchat($pData)
  * @return AfficheAchatAdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validGetAchat($pData)
 {
     $lVr = new AfficheAchatAdherentVR();
     //Tests inputs
     if (!isset($pData['idAchat'])) {
         $lVr->setValid(false);
         $lVr->getId()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getId()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         if (!TestFonction::checkLength($pData['idAchat'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (!is_int((int) $pData['idAchat'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         //Tests Fonctionnels
         if (empty($pData['idAchat'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         $lOperationService = new OperationService();
         if (!$lOperationService->existe($pData['idAchat'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
     }
     return $lVr;
 }
 /**
  * @name validAjout($pData)
  * @return AfficheAchatAdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validGetAchatEtReservation($pData)
 {
     $lVr = new AfficheAchatAdherentVR();
     //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_marche'])) {
         $lVr->setValid(false);
         $lVr->getIdMarche()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdMarche()->addErreur($lErreur);
     }
     if (!isset($pData['idOperation'])) {
         $lVr->setValid(false);
         $lVr->getIdOperation()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getIdOperation()->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_marche'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdMarche()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdMarche()->addErreur($lErreur);
         }
         if ($pData['id_marche'] != '' && !is_int((int) $pData['id_marche'])) {
             $lVr->setValid(false);
             $lVr->getIdMarche()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdMarche()->addErreur($lErreur);
         }
         if (!TestFonction::checkLength($pData['idOperation'], 0, 11)) {
             $lVr->setValid(false);
             $lVr->getIdOperation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
             $lVr->getIdOperation()->addErreur($lErreur);
         }
         if ($pData['idOperation'] != '' && !is_int((int) $pData['idOperation'])) {
             $lVr->setValid(false);
             $lVr->getIdOperation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
             $lVr->getIdOperation()->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);
         }
         // Si ce n'est pas le compte invite : vérification que l'achérent existe
         if ($pData['id_adherent'] != -3) {
             $lAdherent = AdherentManager::select($pData['id_adherent']);
             if ($lAdherent->getId() != $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);
             }
         }
         if ($pData['id_marche'] != '') {
             $lCommande = CommandeManager::select($pData['id_marche']);
             if ($lCommande->getId() != $pData['id_marche']) {
                 $lVr->setValid(false);
                 $lVr->getIdMarche()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
                 $lVr->getIdMarche()->addErreur($lErreur);
             }
         }
         $lOperationService = new OperationService();
         if ($pData['idOperation'] != '' && !$lOperationService->existe($pData['idOperation'])) {
             $lVr->setValid(false);
             $lVr->getIdOperation()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_216_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_216_MSG);
             $lVr->getIdOperation()->addErreur($lErreur);
         }
     }
     return $lVr;
 }