/** * @name validAjout($pData) * @return RemiseChequeVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new RemiseChequeVR(); //Tests inputs if (!isset($pData['operations'])) { $lVr->setValid(false); $lVr->getOperations()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperations()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!is_array($pData['operations'])) { $lVr->setValid(false); $lVr->getOperations()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_115_CODE); $lErreur->setMessage(MessagesErreurs::ERR_115_MSG); $lVr->getOperations()->addErreur($lErreur); } //Tests Fonctionnels //La liste d'opération ne doit pas être vide if (empty($pData['operations'])) { $lVr->setValid(false); $lVr->getOperations()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperations()->addErreur($lErreur); } if ($lVr->getValid()) { // Creation de lla liste des id $lIdOperation = array(); foreach ($pData['operations'] as $lOperation) { array_push($lIdOperation, $lOperation['id']); } // Récupération des operations $lOperationService = new OperationService(); $lOperations = $lOperationService->getByArray($lIdOperation); // Vérifie pour chaque ID que l'operation Existe foreach ($lIdOperation as $lId) { $lExiste = false; foreach ($lOperations as $lOperation) { if ($lOperation->getId() == $lId) { $lExiste = true; } } // Si une des opération n'existe pas afficher l'erreur if (!$lExiste) { $lVr->setValid(false); $lOperationErreur = new VRelement(); $lOperationErreur->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lOperationErreur->addErreur($lErreur); $lVrOperations = $lVr->getOperations(); $lVrOperations[$lId] = $lOperationErreur; $lVr->setOperation($lVrOperations); } } $lRemiseChequeService = new RemiseChequeService(); if ($lRemiseChequeService->operationDejaSurRemise($lIdOperation)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_273_CODE); $lErreur->setMessage(MessagesErreurs::ERR_273_MSG); $lVr->getLog()->addErreur($lErreur); } } } return $lVr; }