/** * @name getProduitByIdNom($pId) * @param integer * @return ProduitAbonnementVO * @desc Retourne un ProduitAbonnementVO */ public function getProduitByIdNom($pId) { $lProduit = ProduitAbonnementManager::selectByIdNom($pId); $lProduit->setLots(ListeLotAbonnementViewManager::selectByIdProduitAbonnement($lProduit->getId())); return $lProduit; }
/** * @name validAjout($pData) * @return ListeProduitVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new ListeProduitVR(); //Tests inputs 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['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['stockInitial'])) { $lVr->setValid(false); $lVr->getStockInitial()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getStockInitial()->addErreur($lErreur); } if (!isset($pData['max'])) { $lVr->setValid(false); $lVr->getMax()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMax()->addErreur($lErreur); } if (!isset($pData['frequence'])) { $lVr->setValid(false); $lVr->getFrequence()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getFrequence()->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 ($lVr->getValid()) { 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['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['stockInitial'], 0, 12) || $pData['stockInitial'] > 999999999.99) { $lVr->setValid(false); $lVr->getStockInitial()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getStockInitial()->addErreur($lErreur); } if (!is_float((double) $pData['stockInitial'])) { $lVr->setValid(false); $lVr->getStockInitial()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getStockInitial()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['max'], 0, 12) || $pData['max'] > 999999999.99) { $lVr->setValid(false); $lVr->getMax()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMax()->addErreur($lErreur); } if (!is_float((double) $pData['max'])) { $lVr->setValid(false); $lVr->getMax()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMax()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['frequence'], 0, 200)) { $lVr->setValid(false); $lVr->getFrequence()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getFrequence()->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); } //Tests Fonctionnels 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['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['stockInitial'])) { $lVr->setValid(false); $lVr->getStockInitial()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getStockInitial()->addErreur($lErreur); } if (empty($pData['max'])) { $lVr->setValid(false); $lVr->getMax()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMax()->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); } // Test de l'existance du produit if ($lVr->getIdNomProduit()->getValid()) { $lNomProduit = NomProduitManager::select($pData['idNomProduit']); $lId = $lNomProduit->getId(); if (empty($lId)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_210_CODE); $lErreur->setMessage(MessagesErreurs::ERR_210_MSG); $lVr->getLog()->addErreur($lErreur); } $lProAbo = ProduitAbonnementManager::selectByIdNomProduit($pData['idNomProduit']); $lProAbo = $lProAbo[0]; if ($lProAbo->getId() != NULL && $lProAbo->getEtat() == 0) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_251_CODE); $lErreur->setMessage(MessagesErreurs::ERR_251_MSG); $lVr->getLog()->addErreur($lErreur); } } if ($pData['stockInitial'] <= 0) { $lVr->setValid(false); $lVr->getStockInitial()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_CODE); $lVr->getStockInitial()->addErreur($lErreur); } if ($pData['max'] <= 0 && $pData['max'] != -1) { $lVr->setValid(false); $lVr->getMax()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_CODE); $lVr->getMax()->addErreur($lErreur); } if ($pData['max'] != -1 && $pData['max'] > $pData['stockInitial']) { $lVr->setValid(false); $lVr->getStockInitial()->setValid(false); $lVr->getMax()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_205_CODE); $lErreur->setMessage(MessagesErreurs::ERR_205_MSG); $lVr->getStockInitial()->addErreur($lErreur); $lVr->getMax()->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); } $lVr->addLots($lVrLot); $i++; } } } return $lVr; }