/** * @name validDelete($pData) * @return ReservationMarcheVR * @desc Test la validite de l'élément */ public static function validDelete($pData) { $lVr = new ReservationMarcheVR(); //Tests inputs if (!isset($pData['id_commande'])) { $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_int((int) $pData['id_commande'])) { $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); } 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['id_commande'])) { $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); } $lCommande = CommandeManager::select($pData['id_commande']); // Marché : réservation non terminée if (!TestFonction::dateTimeEstPLusGrandeEgale($lCommande->getDateFinReservation(), 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($pData['id_commande']); $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); } } } return $lVr; }
/** * @name validUpdate($pData) * @return CommandeCompleteVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lTestId = CommandeCompleteValid::validDelete($pData); if ($lTestId->getValid()) { $lVr = new CommandeCompleteVR(); //Tests inputs if (!isset($pData['numero'])) { $lVr->setValid(false); $lVr->getNumero()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getNumero()->addErreur($lErreur); } if (!isset($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 (!isset($pData['dateMarcheDebut'])) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (!isset($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (!isset($pData['dateMarcheFin'])) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (!isset($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (!isset($pData['dateDebutReservation'])) { $lVr->setValid(false); $lVr->getDateDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateDebutReservation()->addErreur($lErreur); } if (!isset($pData['timeDebutReservation'])) { $lVr->setValid(false); $lVr->getTimeDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeDebutReservation()->addErreur($lErreur); } if (!isset($pData['dateFinReservation'])) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (!isset($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeFinReservation()->addErreur($lErreur); } if (!isset($pData['archive'])) { $lVr->setValid(false); $lVr->getArchive()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getArchive()->addErreur($lErreur); } if (!isset($pData['produits'])) { $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['description'])) { $lVr->setValid(false); $lVr->getDescription()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDescription()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques if (!TestFonction::checkLength($pData['numero'], 0, 11)) { $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 (!is_int((int) $pData['numero'])) { $lVr->setValid(false); $lVr->getNumero()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getNumero()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['nom'], 0, 100)) { $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::checkDate($pData['dateMarcheDebut'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateMarcheDebut'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkDate($pData['dateMarcheFin'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateMarcheFin'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkDate($pData['dateDebutReservation'], 'db')) { $lVr->setValid(false); $lVr->getDateDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateDebutReservation()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateDebutReservation'], 'db')) { $lVr->setValid(false); $lVr->getDateDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateDebutReservation()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeDebutReservation'])) { $lVr->setValid(false); $lVr->getTimeDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeDebutReservation()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeDebutReservation'])) { $lVr->setValid(false); $lVr->getTimeDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeDebutReservation()->addErreur($lErreur); } if (!TestFonction::checkDate($pData['dateFinReservation'], 'db')) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateFinReservation'], 'db')) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeFinReservation()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeFinReservation()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['archive'], 0, 1)) { $lVr->setValid(false); $lVr->getArchive()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getArchive()->addErreur($lErreur); } if (!is_array($pData['produits'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_111_CODE); $lErreur->setMessage(MessagesErreurs::ERR_111_MSG); $lVr->getLog()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['numero'])) { $lVr->setValid(false); $lVr->getNumero()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getNumero()->addErreur($lErreur); } if (empty($pData['dateMarcheDebut'])) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (empty($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (empty($pData['dateMarcheFin'])) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (empty($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (empty($pData['dateDebutReservation'])) { $lVr->setValid(false); $lVr->getDateDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateDebutReservation()->addErreur($lErreur); } if (empty($pData['timeDebutReservation'])) { $lVr->setValid(false); $lVr->getTimeDebutReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeDebutReservation()->addErreur($lErreur); } if (empty($pData['dateFinReservation'])) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (empty($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeFinReservation()->addErreur($lErreur); } if (empty($pData['archive']) && intval($pData['archive']) != 0) { $lVr->setValid(false); $lVr->getArchive()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getArchive()->addErreur($lErreur); } if (empty($pData['produits'])) { $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 (!TestFonction::dateTimeEstPLusGrandeEgale($pData['dateFinReservation'] . " " . $pData['timeFinReservation'], $pData['dateDebutReservation'] . " " . $pData['timeDebutReservation'], "db")) { if (!TestFonction::dateEstPLusGrandeEgale($pData['dateFinReservation'], $pData['dateDebutReservation'], "db")) { $lVr->setValid(false); $lVr->getDateDebutReservation()->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_247_CODE); $lErreur->setMessage(MessagesErreurs::ERR_247_MSG); $lVr->getDateDebutReservation()->addErreur($lErreur); $lVr->getDateFinReservation()->addErreur($lErreur); } else { if (TestFonction::timeEstPLusGrandeEgale($pData['timeDebutReservation'], $pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeDebutReservation()->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_248_CODE); $lErreur->setMessage(MessagesErreurs::ERR_248_MSG); $lVr->getTimeDebutReservation()->addErreur($lErreur); $lVr->getTimeFinReservation()->addErreur($lErreur); } } } if (!TestFonction::dateTimeEstPLusGrandeEgale($pData['dateMarcheDebut'] . " " . $pData['timeMarcheDebut'], $pData['dateFinReservation'] . " " . $pData['timeFinReservation'], "db")) { if (!TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], $pData['dateFinReservation'], "db")) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_202_CODE); $lErreur->setMessage(MessagesErreurs::ERR_202_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); $lVr->getDateFinReservation()->addErreur($lErreur); } else { if (TestFonction::timeEstPLusGrandeEgale($pData['timeFinReservation'], $pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_203_CODE); $lErreur->setMessage(MessagesErreurs::ERR_203_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); $lVr->getTimeFinReservation()->addErreur($lErreur); } } } if (TestFonction::dateTimeEstPLusGrandeEgale($pData['dateMarcheDebut'] . " " . $pData['timeMarcheDebut'], $pData['dateMarcheFin'] . " " . $pData['timeMarcheFin'], "db")) { if (TestFonction::timeEstPLusGrandeEgale($pData['timeMarcheDebut'], $pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_204_CODE); $lErreur->setMessage(MessagesErreurs::ERR_204_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); $lVr->getTimeMarcheFin()->addErreur($lErreur); } else { if (TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], $pData['dateMarcheFin'], "db")) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_208_CODE); $lErreur->setMessage(MessagesErreurs::ERR_208_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); $lVr->getDateMarcheFin()->addErreur($lErreur); } } } if (is_array($pData['produits'])) { $lValidProduit = new ProduitCommandeValid(); $i = 0; while (isset($pData['produits'][$i])) { $lVrProduit = $lValidProduit->validAjout($pData['produits'][$i]); if (!$lVrProduit->getValid()) { $lVr->setValid(false); } $lVr->addProduits($lVrProduit); $i++; } } // Test si la commande existe $lCommande = CommandeManager::select($pData['id']); if ($lCommande->getId() != $pData['id']) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getId()->addErreur($lErreur); } } return $lVr; } return $lTestId; }
/** * @name ajoutReservation($pIdCompte,$pIdMarche) * @param integer * @param integer * @return bool * @desc Positionne les réservations pour les abonnements du compte sur le maché */ public function ajoutReservation($pIdCompte, $pIdMarche) { $lProduits = $this->getProduitsAbonne($pIdCompte); $lMarcheService = new MarcheService(); $lMarche = $lMarcheService->get($pIdMarche); $lReservationAbonnement = array("idCompte" => $pIdCompte, "produits" => array()); foreach ($lMarche->getProduits() as $lNouveauProduit) { // Ajout des réservations pour abonnement if ($lNouveauProduit->getType() == 2) { $lIdNomProduit = $lNouveauProduit->getIdNom(); foreach ($lProduits as $lProduit) { if ($lIdNomProduit == $lProduit->getNproId()) { // Pas de suspension de l'abonnement et stock dispo pour positionner cette réservation (ou pas de limite de stock) if (!(TestFonction::dateTimeEstPLusGrandeEgale($lMarche->getDateMarcheDebut(), $lProduit->getCptAboDateDebutSuspension(), 'db') && TestFonction::dateTimeEstPLusGrandeEgale($lProduit->getCptAboDateFinSuspension(), $lMarche->getDateMarcheDebut(), 'db')) && !(TestFonction::dateTimeEstPLusGrandeEgale($lMarche->getDateMarcheFin(), $lProduit->getCptAboDateDebutSuspension(), 'db') && TestFonction::dateTimeEstPLusGrandeEgale($lProduit->getCptAboDateFinSuspension(), $lMarche->getDateMarcheFin(), 'db')) && ($lNouveauProduit->getStockReservation() >= $lProduit->getCptAboQuantite() || $lNouveauProduit->getStockInitial() == -1)) { foreach ($lNouveauProduit->getLots() as $lLot) { $lDcomId = $lLot->getId(); } $lReservationAbonnement["produits"][$lIdNomProduit] = array("id" => $lIdNomProduit, "idLot" => $lDcomId, "quantite" => $lProduit->getCptAboQuantite()); } } } } } // Positionnement des réservations $lReservationService = new ReservationService(); $lReservationVO = new ReservationVO(); $lReservationVO->getId()->setIdCompte($pIdCompte); $lReservationVO->getId()->setIdCommande($pIdMarche); $lEnregistrer = false; foreach ($lReservationAbonnement["produits"] as $lDetail) { $lDetailCommande = DetailCommandeManager::select($lDetail["idLot"]); $lPrix = $lDetail["quantite"] / $lDetailCommande->getTaille() * $lDetailCommande->getPrix(); $lDetailReservation = new DetailReservationVO(); $lDetailReservation->setIdDetailCommande($lDetail["idLot"]); $lDetailReservation->setQuantite($lDetail["quantite"] * -1); $lDetailReservation->setMontant($lPrix * -1); $lReservationVO->addDetailReservation($lDetailReservation); $lEnregistrer = true; } if ($lEnregistrer) { $lReservationService->set($lReservationVO); } }
$lData["categories"][$lProduit->getIdCategorie()] = array("nom" => $lProduit->getCproNom(), "produits" => array()); } array_push($lData["categories"][$lProduit->getIdCategorie()]["produits"], $lPdt); } } } foreach ($lData["categories"] as $lCategorie) { $lTemplate->assign_block_vars('categories', array('nom' => $lCategorie["nom"])); foreach ($lCategorie["produits"] as $lProduit) { $lTemplate->assign_block_vars('categories.produits', $lProduit); } } $lSolde = $lPage->getAdherent()->getCptSolde(); $lSoldeNv = $lSolde - $lTotal; $lTemplate->assign_vars(array('idMarche' => $_GET["id_marche"], 'sigleMonetaire' => SIGLE_MONETAIRE, 'solde' => StringUtils::affichageMonetaireFr($lSolde), 'soldeNv' => StringUtils::affichageMonetaireFr($lSoldeNv), 'comNumero' => $lPage->getMarche()->getNumero(), 'total' => StringUtils::affichageMonetaireFr($lTotal), 'dateFinReservation' => StringUtils::extractDate($lPage->getMarche()->getDateFinReservation()), 'heureFinReservation' => StringUtils::extractDbHeure($lPage->getMarche()->getDateFinReservation()), 'minuteFinReservation' => StringUtils::extractDbMinute($lPage->getMarche()->getDateFinReservation()), 'dateMarcheDebut' => StringUtils::extractDate($lPage->getMarche()->getDateMarcheDebut()), 'heureMarcheDebut' => StringUtils::extractDbHeure($lPage->getMarche()->getDateMarcheDebut()), 'minuteMarcheDebut' => StringUtils::extractDbMinute($lPage->getMarche()->getDateMarcheDebut()), 'heureMarcheFin' => StringUtils::extractDbHeure($lPage->getMarche()->getDateMarcheFin()), 'minuteMarcheFin' => StringUtils::extractDbMinute($lPage->getMarche()->getDateMarcheFin()))); if (TestFonction::dateTimeEstPLusGrandeEgale($lPage->getMarche()->getDateFinReservation(), StringUtils::dateTimeAujourdhuiDb())) { $lTemplate->set_filenames(array('boutonValiderReservation' => MOD_COMMANDE . '/' . 'BoutonValiderNvReservation.html')); $lTemplate->assign_var_from_handle('GESTION_RESERVATION', 'boutonValiderReservation'); } // Pied de Page $lTemplate->set_filenames(array('piedPage' => COMMUN_TEMPLATE . 'PiedPage.html')); $lTemplate->assign_vars(array('PROP_NOM' => PROP_NOM, 'PROP_ADRESSE' => PROP_ADRESSE, 'PROP_CODE_POSTAL' => PROP_CODE_POSTAL, 'PROP_VILLE' => PROP_VILLE, 'PROP_TEL' => PROP_TEL, 'PROP_MEL' => PROP_MEL, 'ZEYBUX_TITRE_SITE' => ZEYBUX_TITRE_SITE)); $lTemplate->assign_var_from_handle('PIED_PAGE', 'piedPage'); $lTemplate->set_filenames(array('page' => 'Page.html')); $lTemplate->assign_var_from_handle('CONTENU', 'body'); // Stock les infos pour une modification foreach ($_POST['id-produit'] as $lIdProduit) { if (isset($_POST['produit-' . $lIdProduit . '-lot']) && isset($_POST['produit-' . $lIdProduit . '-quantite'])) { $lParamRetour["detailReservation"][$lIdProduit] = array("id" => "", "stoIdDetailCommande" => $_POST['produit-' . $lIdProduit . '-lot'], "stoQuantite" => StringUtils::decimalFrToDb($_POST['produit-' . $lIdProduit . '-quantite']) * -1, "idProduit" => $lIdProduit); } }
/** * @name validUpdateInformation($pData) * @return ModifierMarcheVR * @desc Test la validite de l'élément */ public static function validUpdateInformation($pData) { $lVr = new ModifierMarcheVR(); //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['dateMarcheDebut'])) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (!isset($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (!isset($pData['dateMarcheFin'])) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (!isset($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (!isset($pData['dateFinReservation'])) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (!isset($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeFinReservation()->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['nom'], 0, 100)) { $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::checkDate($pData['dateMarcheDebut'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateMarcheDebut'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (!TestFonction::checkDate($pData['dateMarcheFin'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateMarcheFin'], 'db')) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (!TestFonction::checkDate($pData['dateFinReservation'], 'db')) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_103_CODE); $lErreur->setMessage(MessagesErreurs::ERR_103_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (!TestFonction::checkDateExist($pData['dateFinReservation'], 'db')) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_105_CODE); $lErreur->setMessage(MessagesErreurs::ERR_105_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (!TestFonction::checkTime($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_106_CODE); $lErreur->setMessage(MessagesErreurs::ERR_106_MSG); $lVr->getTimeFinReservation()->addErreur($lErreur); } if (!TestFonction::checkTimeExist($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_107_CODE); $lErreur->setMessage(MessagesErreurs::ERR_107_MSG); $lVr->getTimeFinReservation()->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['dateMarcheDebut'])) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); } if (empty($pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); } if (empty($pData['dateMarcheFin'])) { $lVr->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateMarcheFin()->addErreur($lErreur); } if (empty($pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeMarcheFin()->addErreur($lErreur); } if (empty($pData['dateFinReservation'])) { $lVr->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getDateFinReservation()->addErreur($lErreur); } if (empty($pData['timeFinReservation'])) { $lVr->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getTimeFinReservation()->addErreur($lErreur); } if (!TestFonction::dateTimeEstPLusGrandeEgale($pData['dateMarcheDebut'] . " " . $pData['timeMarcheDebut'], $pData['dateFinReservation'] . " " . $pData['timeFinReservation'], "db")) { if (!TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], $pData['dateFinReservation'], "db")) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lVr->getDateFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_202_CODE); $lErreur->setMessage(MessagesErreurs::ERR_202_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); $lVr->getDateFinReservation()->addErreur($lErreur); } else { if (TestFonction::timeEstPLusGrandeEgale($pData['timeFinReservation'], $pData['timeMarcheDebut'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lVr->getTimeFinReservation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_203_CODE); $lErreur->setMessage(MessagesErreurs::ERR_203_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); $lVr->getTimeFinReservation()->addErreur($lErreur); } } } if (TestFonction::dateTimeEstPLusGrandeEgale($pData['dateMarcheDebut'] . " " . $pData['timeMarcheDebut'], $pData['dateMarcheFin'] . " " . $pData['timeMarcheFin'], "db")) { if (TestFonction::timeEstPLusGrandeEgale($pData['timeMarcheDebut'], $pData['timeMarcheFin'])) { $lVr->setValid(false); $lVr->getTimeMarcheDebut()->setValid(false); $lVr->getTimeMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_204_CODE); $lErreur->setMessage(MessagesErreurs::ERR_204_MSG); $lVr->getTimeMarcheDebut()->addErreur($lErreur); $lVr->getTimeMarcheFin()->addErreur($lErreur); } else { if (TestFonction::dateEstPLusGrandeEgale($pData['dateMarcheDebut'], $pData['dateMarcheFin'], "db")) { $lVr->setValid(false); $lVr->getDateMarcheDebut()->setValid(false); $lVr->getDateMarcheFin()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_208_CODE); $lErreur->setMessage(MessagesErreurs::ERR_208_MSG); $lVr->getDateMarcheDebut()->addErreur($lErreur); $lVr->getDateMarcheFin()->addErreur($lErreur); } } } // Test si la commande existe $lCommande = CommandeManager::select($pData['id']); if ($lCommande->getId() != $pData['id']) { $lVr->setValid(false); $lVr->getId()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_216_CODE); $lErreur->setMessage(MessagesErreurs::ERR_216_MSG); $lVr->getId()->addErreur($lErreur); } return $lVr; } return $lTestId; }
/** * @name ajoutProduit($pProduit) * @param ProduitMarcheVO * @desc Ajoute une produit au marche */ public function ajoutProduit($pProduit) { $lComptes = CompteNomProduitViewManager::select($pProduit->getIdNom()); $lComptes = $lComptes[0]; $lIdCompteFerme = $lComptes->getFerIdCompte(); // Insertion du produit $lProduit = new ProduitVO(); $lProduit->setIdCommande($pProduit->getId()); $lProduit->setIdNomProduit($pProduit->getIdNom()); $lProduit->setUniteMesure($pProduit->getUnite()); if ($pProduit->getQteMaxCommande() == "" || $pProduit->getQteMaxCommande() == -1) { $lProduit->setMaxProduitCommande(-1); } else { $lProduit->setMaxProduitCommande($pProduit->getQteMaxCommande()); } $lProduit->setIdCompteFerme($lIdCompteFerme); if ($pProduit->getQteRestante() == "" || $pProduit->getQteRestante() == -1) { $lProduit->setStockReservation(0); $lProduit->setStockInitial(-1); } else { $lProduit->setStockReservation($pProduit->getQteRestante()); $lProduit->setStockInitial($pProduit->getQteRestante()); } $lProduit->setType($pProduit->getType()); $lIdProduit = ProduitManager::insert($lProduit); //Insertion des lots $lCorrespondanceLotAbonnement = array(); foreach ($pProduit->getLots() as $lNouveauLot) { $lDetailCommande = new DetailCommandeVO(); $lDetailCommande->setIdProduit($lIdProduit); $lDetailCommande->setTaille($lNouveauLot->getTaille()); $lDetailCommande->setPrix($lNouveauLot->getPrix()); $lDcomId = DetailCommandeManager::insert($lDetailCommande); $lCorrespondanceLotAbonnement[$lNouveauLot->getId()] = $lDcomId; } $lStockService = new StockService(); //Insertion du stock -> Met à jour le stock reservation dans le produit $lStock = new StockVO(); if ($pProduit->getQteRestante() == "" || $pProduit->getQteRestante() == -1) { $lStock->setQuantite(0); } else { $lStock->setQuantite($pProduit->getQteRestante()); } $lStock->setType(0); $lStock->setIdCompte($lIdCompteFerme); $lStock->setIdDetailCommande($lDcomId); //$lStock->setIdOperation(0); $lStockService->set($lStock); // Ajout des réservations pour abonnement if ($lProduit->getType() == 2) { $lIdMarche = $lProduit->getIdCommande(); $lMarche = $this->getInfoMarche($lIdMarche); $lAbonnementService = new AbonnementService(); $lReservationService = new ReservationService(); $lIdNomProduit = $lProduit->getIdNomProduit(); $lAbonnes = $lAbonnementService->getAbonnesByIdNomProduit($lIdNomProduit); if (!is_null($lAbonnes[0]->getCptAboIdProduitAbonnement())) { // Si il y a des abonnés foreach ($lAbonnes as $lAbonne) { // Pas de suspension de l'abonnement if (!(TestFonction::dateTimeEstPLusGrandeEgale($lMarche->getDateMarcheDebut(), $lAbonne->getCptAboDateDebutSuspension(), 'db') && TestFonction::dateTimeEstPLusGrandeEgale($lAbonne->getCptAboDateFinSuspension(), $lMarche->getDateMarcheDebut(), 'db')) && !(TestFonction::dateTimeEstPLusGrandeEgale($lMarche->getDateMarcheFin(), $lAbonne->getCptAboDateDebutSuspension(), 'db') && TestFonction::dateTimeEstPLusGrandeEgale($lAbonne->getCptAboDateFinSuspension(), $lMarche->getDateMarcheFin(), 'db'))) { $lIdCompte = $lAbonne->getCptAboIdCompte(); $lIdReservationVO = new IdReservationVO(); $lIdReservationVO->setIdCompte($lIdCompte); $lIdReservationVO->setIdCommande($lIdMarche); $lReservationVO = new ReservationVO(); $lReservationVO->setId($lIdReservationVO); if ($lReservationService->enCours($lIdReservationVO)) { $lReservationVO = $lReservationService->get($lIdReservationVO); } $lDetailCommande = DetailCommandeManager::select($lCorrespondanceLotAbonnement[$lAbonne->getCptAboIdLotAbonnement()]); $lPrix = $lAbonne->getCptAboQuantite() / $lDetailCommande->getTaille() * $lDetailCommande->getPrix(); $lDetailReservation = new DetailReservationVO(); $lDetailReservation->setIdDetailCommande($lCorrespondanceLotAbonnement[$lAbonne->getCptAboIdLotAbonnement()]); $lDetailReservation->setQuantite($lAbonne->getCptAboQuantite() * -1); $lDetailReservation->setMontant($lPrix * -1); $lReservationVO->addDetailReservation($lDetailReservation); $lReservationService->set($lReservationVO); } } } } return $lIdProduit; }
/** * @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; }