/** * @name validAjout($pData) * @return CommandeReservationVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new CommandeReservationVR(); //Tests inputs if (!isset($pData['detailReservation'])) { $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['id_compte'])) { $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 (!is_array($pData['detailReservation'])) { $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_int((int) $pData['id_compte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getLog()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['detailReservation'])) { $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_compte'])) { $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 (isset($pData["detailReservation"][0]["stoIdDetailCommande"])) { $lIdLot = $pData["detailReservation"][0]["stoIdDetailCommande"]; $lDetailMarche = DetailMarcheViewManager::selectByLot($lIdLot); // Marché : réservation non terminée $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pData['id_compte']); $lIdReservation->setIdCommande($lDetailMarche[0]->getComId()); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); $lOperation = $lOperations[0]; if ($lReservationService->enCours($lIdReservation)) { $lIdOperation = $lOperation->getId(); } else { $lIdOperation = -1; } if ($lVr->getValid()) { foreach ($pData['detailReservation'] as $lReservation) { $lDetailMarche = DetailMarcheViewManager::selectByLot($lReservation["stoIdDetailCommande"]); $lIdProduit = $lDetailMarche[0]->getProId(); $lReservation["idOperation"] = $lIdOperation; $lVrReservation = CommandeDetailReservationValid::validAjout($lReservation); if (!$lVrReservation->getValid()) { $lVr->setValid(false); } if (isset($lIdProduit)) { $lCommandes = $lVr->getCommandes(); $lCommandes[$lIdProduit] = $lVrReservation; $lVr->setCommandes($lCommandes); } } } } else { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_117_CODE); $lErreur->setMessage(MessagesErreurs::ERR_117_MSG); $lVr->getLog()->addErreur($lErreur); } } return $lVr; }
/** * @name validUpdate($pData) * @return CommandeReservationVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lVr = new CommandeReservationVR(); //Tests inputs if (!isset($pData['detailReservation'])) { $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->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 (!is_array($pData['detailReservation'])) { $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_int((int) $pData['idCompte'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_104_CODE); $lErreur->setMessage(MessagesErreurs::ERR_104_MSG); $lVr->getLog()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['detailReservation'])) { $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['idCompte'])) { $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 (isset($pData["detailReservation"][0]["stoIdDetailCommande"])) { $lIdLot = $pData["detailReservation"][0]["stoIdDetailCommande"]; $lDetailMarche = DetailMarcheViewManager::selectByLot($lIdLot); // Marché : réservation non terminée if (!TestFonction::dateTimeEstPLusGrandeEgale($lDetailMarche[0]->getComDateFinReservation(), StringUtils::dateTimeAujourdhuiDb())) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_221_CODE); $lErreur->setMessage(MessagesErreurs::ERR_221_MSG); $lVr->getLog()->addErreur($lErreur); } else { $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pData['idCompte']); $lIdReservation->setIdCommande($lDetailMarche[0]->getComId()); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); $lOperation = $lOperations[0]; $lIdOperation = $lOperation->getId(); // Si il y a bien une réservation existante if (is_null($lIdOperation) || $lOperation->getTypePaiement() != 0) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_238_CODE); $lErreur->setMessage(MessagesErreurs::ERR_238_MSG); $lVr->getLog()->addErreur($lErreur); } if ($lVr->getValid()) { foreach ($pData['detailReservation'] as $lReservation) { $lReservation["idOperation"] = $lIdOperation; $lVrReservation = CommandeDetailReservationValid::validUpdate($lReservation); if (!$lVrReservation->getValid()) { $lVr->setValid(false); } //$lVr->addCommandes($lVrReservation); if (isset($lReservation["stoIdDetailCommande"])) { $lCommandes = $lVr->getCommandes(); $lCommandes[$lReservation["stoIdDetailCommande"]] = $lVrReservation; $lVr->setCommandes($lCommandes); } } } } } else { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_117_CODE); $lErreur->setMessage(MessagesErreurs::ERR_117_MSG); $lVr->getLog()->addErreur($lErreur); } } return $lVr; }