예제 #1
0
 /**
  * @name validAjout($pData)
  * @return AchatCommandeVR
  * @desc Test la validite de l'élément
  */
 public static function validAjout($pData)
 {
     $lVr = new AchatCommandeVR();
     //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 (!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['produits'])) {
         $lVr->setValid(false);
         $lVr->getProduits()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getProduits()->addErreur($lErreur);
     }
     if (!isset($pData['produitsSolidaire'])) {
         $lVr->setValid(false);
         $lVr->getProduitsSolidaire()->setValid(false);
         $lErreur = new VRerreur();
         $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         $lVr->getProduitsSolidaire()->addErreur($lErreur);
     }
     if ($lVr->getValid()) {
         //Tests Techniques
         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 (!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);
         }
         //Tests Fonctionnels
         $lCommande = CommandeManager::select($pData['id']);
         if ($lCommande->getId() != $pData['id']) {
             $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);
         }
         // Le marche doit être ouvert
         if ($lCommande->getArchive() != 0) {
             $lVr->setValid(false);
             $lVr->getId()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_239_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_239_MSG);
             $lVr->getId()->addErreur($lErreur);
         }
         $lNbProduit = 0;
         if (!is_array($pData['produits'])) {
             $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);
         } else {
             foreach ($pData['produits'] as $lProduit) {
                 if ($lProduit['quantite'] != 0 && !empty($lProduit['quantite'])) {
                     $lProduit['idCommande'] = $pData['id'];
                     $lVrDetail = MarcheDetailAchatValid::validAjout($lProduit);
                     if (!$lVrDetail->getValid()) {
                         $lVr->setValid(false);
                     }
                     $lVr->addProduits($lVrDetail);
                     $lNbProduit++;
                 }
             }
         }
         if (!is_array($pData['produitsSolidaire'])) {
             $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);
         } else {
             foreach ($pData['produitsSolidaire'] as $lProduit) {
                 if ($lProduit['quantite'] != 0 && !empty($lProduit['quantite'])) {
                     $lProduit['idCommande'] = $pData['id'];
                     $lVrDetail = MarcheDetailAchatValid::validAjout($lProduit);
                     if (!$lVrDetail->getValid()) {
                         $lVr->setValid(false);
                     }
                     $lVr->addProduitsSolidaire($lVrDetail);
                     $lNbProduit++;
                 }
             }
         }
         if ($lNbProduit == 0) {
             $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 (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);
         }
         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);
         }
         // Les 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);
         }
         if (!isset($pData['rechargement']['montant'])) {
             $lVr->setValid(false);
             $lVr->getRechargement()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getRechargement()->addErreur($lErreur);
         }
         if (!empty($pData['rechargement']['montant']) && $pData['rechargement']['montant'] != 0) {
             $lValidRechargement = new RechargementCompteValid();
             $lVr->setRechargement($lValidRechargement->validAjout($pData['rechargement']));
             if (!$lVr->getRechargement()->getValid()) {
                 $lVr->setValid(false);
             }
         }
     }
     return $lVr;
 }
 /**
  * @name validModifierAchat($pData)
  * @return ModifierAchatAdherentVR
  * @desc Test la validite de l'élément
  */
 public static function validModifierAchat($pData)
 {
     $lVr = new ModifierAchatAdherentVR();
     //Tests inputs
     if (!isset($pData["achat"])) {
         $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()) {
         $pData = $pData["achat"];
         if (!isset($pData['idAchat'])) {
             $lVr->setValid(false);
             $lVr->getIdAchat()->setValid(false);
             $lErreur = new VRerreur();
             $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             $lVr->getIdAchat()->addErreur($lErreur);
         }
         /*	if(!isset($pData['total'])) {
         				$lVr->setValid(false);
         				$lVr->getTotal()->setValid(false);
         				$lErreur = new VRerreur();
         				$lErreur->setCode(MessagesErreurs::ERR_201_CODE);
         				$lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
         				$lVr->getTotal()->addErreur($lErreur);	
         			}*/
         if (!isset($pData['produits'])) {
             $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['idAchat'], 0, 11)) {
                 $lVr->setValid(false);
                 $lVr->getIdAchat()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getIdAchat()->addErreur($lErreur);
             }
             if (!is_int((int) $pData['idAchat'])) {
                 $lVr->setValid(false);
                 $lVr->getIdAchat()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_108_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_108_MSG);
                 $lVr->getIdAchat()->addErreur($lErreur);
             }
             if (!TestFonction::checkLength($pData['idAchat'], 0, 12) || $pData['idAchat'] > 999999999.99) {
                 $lVr->setValid(false);
                 $lVr->getTotal()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_101_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_101_MSG);
                 $lVr->getTotal()->addErreur($lErreur);
             }
             /*	if(!is_float((float)$pData['total'])) {
             				$lVr->setValid(false);
             				$lVr->getTotal()->setValid(false);
             				$lErreur = new VRerreur();
             				$lErreur->setCode(MessagesErreurs::ERR_109_CODE);
             				$lErreur->setMessage(MessagesErreurs::ERR_109_MSG);
             				$lVr->getTotal()->addErreur($lErreur);	
             			}*/
             if (!is_array($pData['produits'])) {
                 $lVr->setValid(false);
                 $lVr->getProduits()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_115_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_115_MSG);
                 $lVr->getProduits()->addErreur($lErreur);
             }
             //Tests Fonctionnels
             if (empty($pData['idAchat'])) {
                 $lVr->setValid(false);
                 $lVr->getIdAchat()->setValid(false);
                 $lErreur = new VRerreur();
                 $lErreur->setCode(MessagesErreurs::ERR_201_CODE);
                 $lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
                 $lVr->getIdAchat()->addErreur($lErreur);
             }
             /*		if(empty($pData['total'])) {
             					$lVr->setValid(false);
             					$lVr->getTotal()->setValid(false);
             					$lErreur = new VRerreur();
             					$lErreur->setCode(MessagesErreurs::ERR_201_CODE);
             					$lErreur->setMessage(MessagesErreurs::ERR_201_MSG);
             					$lVr->getTotal()->addErreur($lErreur);	
             				}*/
             if (empty($pData['produits'])) {
                 $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()) {
                 /*	if($pData['total'] > 0) {
                 				$lVr->setValid(false);
                 				$lVr->getTotal()->setValid(false);
                 				$lErreur = new VRerreur();
                 				$lErreur->setCode(MessagesErreurs::ERR_215_CODE);
                 				$lErreur->setMessage(MessagesErreurs::ERR_215_MSG);
                 				$lVr->getTotal()->addErreur($lErreur);
                 			}*/
                 $lOperationService = new OperationService();
                 $lOperation = $lOperationService->get($pData['idAchat']);
                 if (!is_null($lOperation->getId())) {
                     foreach ($pData['produits'] as $lProduit) {
                         $lProduit['idCommande'] = $lOperation->getIdCommande();
                         $lVrDetail = MarcheDetailAchatValid::validAjout($lProduit);
                         if (!$lVrDetail->getValid()) {
                             $lVr->setValid(false);
                         }
                         $lVr->addProduits($lVrDetail);
                     }
                 }
             }
         }
     }
     return $lVr;
 }