/** * @name validDelete($pData) * @return ProducteurVR * @desc Test la validite de l'élément */ public static function validDelete($pData) { $lVr = new ProducteurVR(); //Tests inputs if (!isset($pData['id'])) { $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 ($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['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 (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 producteur doit exister $lProducteur = ProducteurManager::select($pData['id']); if ($lProducteur->getId() != $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); } } return $lVr; }
/** * @name modifierProducteur($pParam) * @desc Met à jour les informations du Producteur ainsi que ses autorisations */ public function modifierProducteur($pParam) { $lVr = ProducteurValid::validUpdate($pParam); if ($lVr->getValid()) { $lProducteur = new ProducteurVO(); $lProducteur->setId($pParam["id"]); $lProducteur->setIdFerme($pParam["idFerme"]); $lProducteur->setNom($pParam["nom"]); $lProducteur->setPrenom($pParam["prenom"]); $lProducteur->setCourrielPrincipal($pParam["courrielPrincipal"]); $lProducteur->setCourrielSecondaire($pParam["courrielSecondaire"]); $lProducteur->setTelephonePrincipal($pParam["telephonePrincipal"]); $lProducteur->setTelephoneSecondaire($pParam["telephoneSecondaire"]); $lProducteur->setAdresse($pParam["adresse"]); $lProducteur->setCodePostal($pParam["codePostal"]); $lProducteur->setVille($pParam["ville"]); $lProducteur->setDateNaissance($pParam["dateNaissance"]); $lProducteur->setCommentaire($pParam["commentaire"]); // Insertion de la date de mise à jour $lProducteur->setDateMaj(StringUtils::dateTimeAujourdhuiDb()); // On reporte le numero dans la maj $lProducteurActuel = ProducteurManager::select($lProducteur->getId()); $lProducteur->setNumero($lProducteurActuel->getNumero()); // L'adherent n'est pas supprimé $lProducteur->setEtat(0); // Maj du producteur dans la BDD ProducteurManager::update($lProducteur); $lResponse = new ModifierProducteurResponse(); $lResponse->setNumero($lProducteur->getNumero()); return $lResponse; } return $lVr; }
/** * @name insert($pVo) * @param ProducteurVO * @return integer * @desc Insère une nouvelle ligne dans la table, à partir des informations de la ProducteurVO en paramètre (l'id sera automatiquement calculé par la BDD) */ public static function insert($pVo) { // Initialisation du Logger $lLogger =& Log::singleton('file', CHEMIN_FICHIER_LOGS); $lLogger->setMask(Log::MAX(LOG_LEVEL)); // Mise en forme des données $pVo->setNom(StringUtils::formaterNom(trim($pVo->getNom()))); $pVo->setPrenom(StringUtils::formaterPrenom(trim($pVo->getPrenom()))); $pVo->setCourrielPrincipal(trim($pVo->getCourrielPrincipal())); $pVo->setCourrielSecondaire(trim($pVo->getCourrielSecondaire())); $pVo->setTelephonePrincipal(trim($pVo->getTelephonePrincipal())); $pVo->setTelephoneSecondaire(trim($pVo->getTelephoneSecondaire())); $pVo->setAdresse(trim($pVo->getAdresse())); $pVo->setCodePostal(trim($pVo->getCodePostal())); $pVo->setVille(StringUtils::formaterVille(trim($pVo->getVille()))); $pVo->setCommentaire(trim($pVo->getCommentaire())); // Protection des dates vides if ($pVo->getDateNaissance() == '') { $pVo->setDateNaissance(StringUtils::FORMAT_DATE_NULLE); } if ($pVo->getDateCreation() == '') { $pVo->setDateCreation(StringUtils::FORMAT_DATE_NULLE); } if ($pVo->getDateMaj() == '') { $pVo->getDateMaj(StringUtils::FORMAT_DATE_NULLE); } $lRequete = "INSERT INTO " . ProducteurManager::TABLE_PRODUCTEUR . "\n\t\t\t\t(" . ProducteurManager::CHAMP_PRODUCTEUR_ID . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_ID_FERME . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_NUMERO . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_NOM . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_PRENOM . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_COURRIEL_PRINCIPAL . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_COURRIEL_SECONDAIRE . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_TELEPHONE_PRINCIPAL . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_TELEPHONE_SECONDAIRE . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_ADRESSE . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_CODE_POSTAL . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_VILLE . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_DATE_NAISSANCE . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_DATE_CREATION . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_DATE_MAJ . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_COMMENTAIRE . "\n\t\t\t\t," . ProducteurManager::CHAMP_PRODUCTEUR_ETAT . ")\n\t\t\tVALUES (NULL\n\t\t\t\t,'" . StringUtils::securiser($pVo->getIdFerme()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getNumero()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getNom()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getPrenom()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getCourrielPrincipal()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getCourrielSecondaire()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getTelephonePrincipal()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getTelephoneSecondaire()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getAdresse()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getCodePostal()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getVille()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getDateNaissance()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getDateCreation()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getDateMaj()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getCommentaire()) . "'\n\t\t\t\t,'" . StringUtils::securiser($pVo->getEtat()) . "')"; $lLogger->log("Execution de la requete : " . $lRequete, PEAR_LOG_DEBUG); // Maj des logs $lId = Dbutils::executerRequeteInsertRetourId($lRequete); // Execution de la requete et récupération de l'Id généré par la BDD $pVo->setId($lId); $pVo->setNumero('P' . $lId); // Mise à jour du numéro dans l'objet ProducteurManager::update($pVo); // Mise à jour de la base return $lId; }
/** * @name validUpdate($pData) * @return ProduitCommandeVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lTestId = ProduitCommandeValid::validDelete($pData); if ($lTestId->getValid()) { $lVr = new ProduitCommandeVR(); //Tests Techniques if (!TestFonction::checkLength($pData['idNom'], 0, 11)) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (!is_int((int) $pData['idNom'])) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idProducteur'], 0, 11)) { $lVr->setValid(false); $lVr->getIdProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdProducteur()->addErreur($lErreur); } if (!is_int((int) $pData['idProducteur'])) { $lVr->setValid(false); $lVr->getIdProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdProducteur()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['nom'], 0, 50)) { $lVr->setValid(false); $lVr->getNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getNom()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idCategorie'], 0, 11)) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if ($pData['idCategorie'] != '' && !is_int((int) $pData['idCategorie'])) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['categorie'], 0, 50)) { $lVr->setValid(false); $lVr->getCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getCategorie()->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['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); } //Tests Fonctionnels if (empty($pData['idNom'])) { $lVr->setValid(false); $lVr->getIdNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdNom()->addErreur($lErreur); } if (empty($pData['idProducteur'])) { $lVr->setValid(false); $lVr->getIdProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdProducteur()->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['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 (empty($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 (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->getIdNom()->getValid()) { $lNomProduit = NomProduitManager::select($pData['idNom']); $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); } } // Test de l'existance du producteur if ($lVr->getIdProducteur()->getValid()) { $lIdProducteur = ProducteurManager::select($pData['idProducteur']); $lId = $lIdProducteur->getId(); if (empty($lId)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_234_CODE); $lErreur->setMessage(MessagesErreurs::ERR_234_MSG); $lVr->getLog()->addErreur($lErreur); } } // Les quantités sont positives if ($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'] <= 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'] > $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->validUpdate($pData['lots'][$i]); if (!$lVrLot->getValid()) { $lVr->setValid(false); } 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 validAjout($pData) * @return NomProduitCatalogueVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new NomProduitCatalogueVR(); //Tests inputs if (!isset($pData['id'])) { $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 (!isset($pData['numero'])) { $lVr->setValid(false); $lVr->getNumero()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getNumero()->addErreur($lErreur); } if (!isset($pData['idCategorie'])) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if (!isset($pData['nom'])) { $lVr->setValid(false); $lVr->getNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getNom()->addErreur($lErreur); } if (!isset($pData['description'])) { $lVr->setValid(false); $lVr->getDescription()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getDescription()->addErreur($lErreur); } if (!isset($pData['producteurs'])) { $lVr->setValid(false); $lVr->getProducteurs()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getProducteurs()->addErreur($lErreur); } if (!isset($pData['caracteristiques'])) { $lVr->setValid(false); $lVr->getCaracteristiques()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getCaracteristiques()->addErreur($lErreur); } if (!isset($pData['modelesLot'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getLog()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques 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_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getId()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['numero'], 0, 50)) { $lVr->setValid(false); $lVr->getNumero()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getNumero()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idCategorie'], 0, 11)) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if (!is_int((int) $pData['idCategorie'])) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['nom'], 0, 50)) { $lVr->setValid(false); $lVr->getNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getNom()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['description'], 0, 500)) { $lVr->setValid(false); $lVr->getDescription()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getDescription()->addErreur($lErreur); } if (!is_array($pData['producteurs'])) { $lVr->setValid(false); $lVr->getProducteurs()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getProducteurs()->addErreur($lErreur); } if (!is_array($pData['caracteristiques'])) { $lVr->setValid(false); $lVr->getCaracteristiques()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getCaracteristiques()->addErreur($lErreur); } if (!is_array($pData['modelesLot'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getLog()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Fonctionnels 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['idCategorie'])) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if ($pData['idCategorie'] == 0) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } if (empty($pData['nom'])) { $lVr->setValid(false); $lVr->getNom()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getNom()->addErreur($lErreur); } if (empty($pData['modelesLot'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_264_CODE); $lErreur->setMessage(MessagesErreurs::ERR_264_MSG); $lVr->getLog()->addErreur($lErreur); } // La Ferme doit exister $lFerme = FermeManager::select($pData['id']); if ($lFerme->getId() != $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); } // La Catégorie doit exister $lCategorieProduit = CategorieProduitManager::select($pData['idCategorie']); if ($lCategorieProduit->getId() != $pData['idCategorie']) { $lVr->setValid(false); $lVr->getIdCategorie()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdCategorie()->addErreur($lErreur); } foreach ($pData['producteurs'] as $lProducteur) { $lProducteurVO = ProducteurManager::select($lProducteur); if ($lProducteurVO->getIdFerme() != $pData['id']) { $lVr->setValid(false); $lVr->getProducteurs()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getProducteurs()->addErreur($lErreur); } } foreach ($pData['caracteristiques'] as $lCaracteristique) { $lCaracteristiqueVO = CaracteristiqueManager::select($lCaracteristique); if ($lCaracteristiqueVO->getId() != $lCaracteristique) { $lVr->setValid(false); $lVr->getCaracteristiques()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getCaracteristiques()->addErreur($lErreur); } } foreach ($pData['modelesLot'] as $lModeleLot) { $lModeleLotVR = ModeleLotValid::ValidSet($lModeleLot); if (!$lModeleLotVR->getValid()) { $lVr->setValid(false); } $lVr->addModelesLot($lModeleLotVR); } } } return $lVr; }