/** * @name validAjout($pData) * @return OperationDetailVR * @desc Test la validite de l'élément */ public static function validAjout($pData, $pParam = array("negatif" => false)) { $lVr = new OperationDetailVR(); //Tests inputs if (!isset($pData['id'])) { $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['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['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!isset($pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!isset($pData['champComplementaire'])) { $lVr->setValid(false); $lVr->getChampComplementaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getChampComplementaire()->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_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getIdCompte()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['montant'], 0, 12) || $pData['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['typePaiement'], 0, 11)) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_int((int) $pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_array($pData['champComplementaire'])) { $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); } //Tests Fonctionnels if (empty($pData['idCompte'])) { $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); } // Le compte doit exister $lCompteService = new CompteService(); if (!$lCompteService->existe($pData['idCompte'])) { $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); } if (empty($pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($pParam["negatif"] && $pData['montant'] > 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_267_CODE); $lErreur->setMessage(MessagesErreurs::ERR_267_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!$pParam["negatif"] && $pData['montant'] < 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } if (empty($pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } $lTypePaiementService = new TypePaiementService(); $lTypePaiement = $lTypePaiementService->selectDetail($pData['typePaiement']); if ($lTypePaiement->getId() != $pData['typePaiement']) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } else { $lChampComplementaire = array(); foreach ($pData['champComplementaire'] as $lChamp) { if (!is_null($lChamp)) { $lObligatoire = NULL; foreach ($lTypePaiement->getChampComplementaire() as $lChampTypePaiement) { if ($lChampTypePaiement->getId() == $lChamp['id']) { $lObligatoire = $lChampTypePaiement->getObligatoire(); } } $lVrChampComplementaire = ChampComplementaireValid::validUpdate($lChamp, $lObligatoire); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lChampComplementaire[$lChamp['id']] = $lVrChampComplementaire; } } $lVr->setChampComplementaire($lChampComplementaire); } } return $lVr; }
/** * @name validModifierPaiement($pData) * @return RechargementCompteVR * @desc Test la validite de l'élément */ public static function validModifierPaiement($pData) { $lVr = new RechargementCompteVR(); //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['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!isset($pData['champComplementaire'])) { $lVr->setValid(false); $lVr->getChampComplementaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getChampComplementaire()->addErreur($lErreur); } if (!isset($pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->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_CODE); $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 (!TestFonction::checkLength($pData['montant'], 0, 12) || $pData['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['typePaiement'], 0, 11)) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_int((int) $pData['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_array($pData['champComplementaire'])) { $lVr->setValid(false); $lVr->getChampComplementaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getChampComplementaire()->addErreur($lErreur); } //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['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($pData['montant'] < 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } $lOperationService = new OperationService(); $lOperation = $lOperationService->get($pData['id']); if ($lOperation->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); } if ($lOperation->getType() != 0) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_227_CODE); $lErreur->setMessage(MessagesErreurs::ERR_227_MSG); $lVr->getId()->addErreur($lErreur); } $lTypePaiementService = new TypePaiementService(); $lTypePaiement = $lTypePaiementService->selectVisible($pData['typePaiement']); // Il est autorisé d'enregistrer un facture (réception de produit) sans payer. if ($lTypePaiement->getId() != $pData['typePaiement']) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } else { $lChampComplementaire = array(); foreach ($pData['champComplementaire'] as $lChamp) { if (!is_null($lChamp)) { $lObligatoire = NULL; foreach ($lTypePaiement->getChampComplementaire() as $lChampTypePaiement) { if ($lChampTypePaiement->getId() == $lChamp['id']) { $lObligatoire = $lChampTypePaiement->getObligatoire(); } } $lVrChampComplementaire = ChampComplementaireValid::validUpdate($lChamp, $lObligatoire); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lChampComplementaire[$lChamp['id']] = $lVrChampComplementaire; } } $lVr->setChampComplementaire($lChampComplementaire); } } return $lVr; }
/** * @name validAjout($pData) * @return FactureVR * @desc Test la validite de l'élément */ public static function validEnregistrer($pData) { $lVr = new FactureVR(); //Tests Techniques if (!isset($pData['id'])) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperation()->addErreur($lErreur); } if (!isset($pData['operationProducteur'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!isset($pData['operationZeybu'])) { $lVr->setValid(false); $lVr->getOperationZeybu()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationZeybu()->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['operationProducteur']['idCompte'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!isset($pData['operationProducteur']['champComplementaire'])) { $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()) { // Dans le cas d'une modification if ($pData['id']['id'] != '' && !TestFonction::checkLength($pData['id']['id'], 0, 11)) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_CODE); $lVr->getOperation()->addErreur($lErreur); } if ($pData['id']['id'] != '' && !is_int((int) $pData['id']['id'])) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getOperation()->addErreur($lErreur); } // Pour création ou modification if (!TestFonction::checkLength($pData['operationProducteur']['idCompte'], 0, 11)) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!is_int((int) $pData['operationProducteur']['idCompte'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['operationProducteur']['montant'], 0, 12) || $pData['operationProducteur']['montant'] > 999999999.99) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!is_float((double) $pData['operationProducteur']['montant'])) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getMontant()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['operationProducteur']['typePaiement'], 0, 11)) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_int((int) $pData['operationProducteur']['typePaiement'])) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (!is_array($pData['operationProducteur']['champComplementaire'])) { $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 (!is_array($pData['produits'])) { $lVr->setValid(false); $lVr->getProduits()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_110_CODE); $lErreur->setMessage(MessagesErreurs::ERR_110_MSG); $lVr->getProduits()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['operationProducteur']['idCompte'])) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } if (empty($pData['operationProducteur']['typePaiement']) && $pData['operationProducteur']['typePaiement'] != 0) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if ($pData['operationProducteur']['typePaiement'] < 0) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_236_CODE); $lErreur->setMessage(MessagesErreurs::ERR_236_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } if (empty($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['id']['champComplementaire'][1])) { // Si Marché $lVrChampComplementaire = ChampComplementaireValid::validUpdate($pData['id']['champComplementaire'][1], 0); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lVr->setChampComplementaire(array(1 => $lVrChampComplementaire)); } if ($pData['id']['id'] != '') { // Modification // La facture doit exister $lOperationService = new OperationService(); $lOperationId = $lOperationService->get($pData['id']['id']); if ($lOperationId->getId() != $pData['id']['id']) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getOperation()->addErreur($lErreur); } } if (empty($pData['operationProducteur']['montant']) && $pData['operationProducteur']['montant'] != 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getMontant()->addErreur($lErreur); } if ($pData['operationProducteur']['montant'] < 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getMontant()->addErreur($lErreur); } // Il est autorisé d'enregistrer un facture (réception de produit) sans payer. if ($pData['operationProducteur']['montant'] == 0 && $pData['operationProducteur']['typePaiement'] != 0 || $pData['operationProducteur']['montant'] != 0 && $pData['operationProducteur']['typePaiement'] == 0) { $lVr->setValid(false); $lVr->getMontant()->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getMontant()->addErreur($lErreur); $lVr->getTypePaiement()->addErreur($lErreur); } $lFerme = FermeManager::selectByIdCompte($pData['operationProducteur']['idCompte']); if ($lFerme[0]->getIdCompte() != $pData['operationProducteur']['idCompte']) { $lVr->setValid(false); $lVr->getOperationProducteur()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getOperationProducteur()->addErreur($lErreur); } $lTypePaiementService = new TypePaiementService(); $lTypePaiement = $lTypePaiementService->selectVisible($pData['operationProducteur']['typePaiement']); // Il est autorisé d'enregistrer un facture (réception de produit) sans payer. if ($lTypePaiement->getId() != $pData['operationProducteur']['typePaiement'] && $pData['operationProducteur']['typePaiement'] != 0) { $lVr->setValid(false); $lVr->getTypePaiement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getTypePaiement()->addErreur($lErreur); } else { $lChampComplementaire = array(); foreach ($pData['operationProducteur']['champComplementaire'] as $lChamp) { if (!is_null($lChamp)) { $lObligatoire = NULL; foreach ($lTypePaiement->getChampComplementaire() as $lChampTypePaiement) { if ($lChampTypePaiement->getId() == $lChamp['id']) { $lObligatoire = $lChampTypePaiement->getObligatoire(); } } $lVrChampComplementaire = ChampComplementaireValid::validUpdate($lChamp, $lObligatoire); if (!$lVrChampComplementaire->getValid()) { $lVr->setValid(false); } $lChampComplementaire[$lChamp['id']] = $lVrChampComplementaire; } } $lVr->setChampComplementaire($lChampComplementaire); } if (is_array($pData['produits'])) { $lValidProduit = new ProduitDetailFactureValid(); //$i = 0; //while(isset($pData['produits'][$i])) { foreach ($pData['produits'] as $lIndice => $lProduit) { if (!is_null($pData['produits'][$lIndice])) { $lVrProduit = $lValidProduit->validAjout($pData['produits'][$lIndice], $lFerme[0]->getId()); if (!$lVrProduit->getValid()) { $lVr->setValid(false); } $lVr->addProduits($lVrProduit); } // $i++; } } } return $lVr; }