/**
  * @name validUpdate($pData)
  * @return ProduitMarcheVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdate($pData)
 {
     $lTestId = ProduitMarcheValid::validDelete($pData);
     if ($lTestId->getValid()) {
         $lVr = new ProduitMarcheVR();
         //Tests inputs
         if (!isset($pData['unite'])) {
             $lVr->setValid(false);
             $lVr->getUnite()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getUnite()->addErreur($lErreur);
         }
         if (!isset($pData['qteMaxCommande'])) {
             $lVr->setValid(false);
             $lVr->getQteMaxCommande()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getQteMaxCommande()->addErreur($lErreur);
         }
         if (!isset($pData['qteRestante'])) {
             $lVr->setValid(false);
             $lVr->getQteRestante()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getQteRestante()->addErreur($lErreur);
         }
         if (!isset($pData['lots'])) {
             $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['type'])) {
             $lVr->setValid(false);
             $lVr->getType()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getType()->addErreur($lErreur);
         }
         if (!isset($pData['lotRemplacement'])) {
             $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 (!TestFonction::checkLength($pData['unite'], 0, 20)) {
                 $lVr->setValid(false);
                 $lVr->getUnite()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getUnite()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['qteMaxCommande'], 0, 12) || $pData['qteMaxCommande'] > 999999999.99) {
                 $lVr->setValid(false);
                 $lVr->getQteMaxCommande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getQteMaxCommande()->addErreur($lErreur);
             }
             if (!is_float((double) $pData['qteMaxCommande'])) {
                 $lVr->setValid(false);
                 $lVr->getQteMaxCommande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
                 $lVr->getQteMaxCommande()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['qteRestante'], 0, 12) || $pData['qteRestante'] > 999999999.99) {
                 $lVr->setValid(false);
                 $lVr->getQteRestante()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getQteRestante()->addErreur($lErreur);
             }
             if (!is_float((double) $pData['qteRestante'])) {
                 $lVr->setValid(false);
                 $lVr->getQteRestante()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_109_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
                 $lVr->getQteRestante()->addErreur($lErreur);
             }
             if (!is_array($pData['lots'])) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_110_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_110_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['type'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getType()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getType()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['type'])) {
                 $lVr->setValid(false);
                 $lVr->getType()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
                 $lVr->getType()->addErreur($lErreur);
             }
             if (!is_array($pData['lotRemplacement'])) {
                 $lVr->setValid(false);
                 $lVr->getLog()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_110_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_110_MSG);
                 $lVr->getLog()->addErreur($lErreur);
             }
             //Tests Fonctionnels
             if (empty($pData['unite'])) {
                 $lVr->setValid(false);
                 $lVr->getUnite()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getUnite()->addErreur($lErreur);
             }
             if (empty($pData['lots'])) {
                 $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['type'] == '' && $pData['type'] != 0) {
                 $lVr->setValid(false);
                 $lVr->getType()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_202_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getType()->addErreur($lErreur);
             }
             // Les quantités sont positives
             if ($pData['qteMaxCommande'] != -1 && $pData['qteMaxCommande'] < 0) {
                 $lVr->setValid(false);
                 $lVr->getQteMaxCommande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
                 $lVr->getQteMaxCommande()->addErreur($lErreur);
             }
             if ($pData['qteRestante'] != -1 && $pData['qteRestante'] < 0) {
                 $lVr->setValid(false);
                 $lVr->getQteRestante()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_215_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
                 $lVr->getQteRestante()->addErreur($lErreur);
             }
             if ($pData['qteMaxCommande'] != -1 && $pData['qteRestante'] != -1 && $pData['qteMaxCommande'] > $pData['qteRestante']) {
                 $lVr->setValid(false);
                 $lVr->getQteRestante()->setValid(false);
                 $lVr->getQteMaxCommande()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_205_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_205_MSG);
                 $lVr->getQteRestante()->addErreur($lErreur);
                 $lVr->getQteMaxCommande()->addErreur($lErreur);
             }
             if (is_array($pData['lots'])) {
                 $lValidLot = new DetailCommandeValid();
                 $i = 0;
                 while (isset($pData['lots'][$i])) {
                     $lVrLot = $lValidLot->validAjout($pData['lots'][$i]);
                     if (!$lVrLot->getValid()) {
                         $lVr->setValid(false);
                     }
                     /*if(!empty($pData['qteMaxCommande'])) {
                     			if(floatval($pData['lots'][$i]['taille']) > floatval($pData['qteMaxCommande'])) {
                     				$lVr->setValid(false);
                     				$lVrLot->setValid(false);
                     				$lVrLot->getTaille()->setValid(false);
                     				$lErreur = new VRerreur();
                     				$lErreur->setCode(MessagesErreurs::ERR_206_CODE);
                     				$lErreur->setMessage(MessagesErreurs::ERR_206_MSG);
                     				$lVrLot->getTaille()->addErreur($lErreur);
                     			}
                     		}*/
                     $lVr->addLots($lVrLot);
                     $i++;
                 }
             }
         }
         return $lVr;
     }
     return $lTestId;
 }
 /**
  * @name validGetDetailProduit($pData)
  * @return ProduitMarcheVR
  * @desc Test la validite de l'élément
  */
 public static function validGetDetailProduit($pData)
 {
     $lVr = new ProduitMarcheVR();
     //Tests inputs
     if (!isset($pData['id'])) {
         $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()) {
         if (!TestFonction::checkLength($pData['id'], 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['id'])) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_104_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_104_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         if (empty($pData['id'])) {
             $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);
         }
         // Le produit doit exister
         $lProduit = ProduitManager::select($pData['id']);
         if ($lProduit->getId() != $pData['id']) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_210_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_210_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
     }
     return $lVr;
 }