/** * @name modifierReservation($pParam) * @return ListeReservationCommandeVR * @desc Met à jour une réservation */ public function modifierReservation($pParam) { $lVr = CommandeReservationValid::validUpdate($pParam); if ($lVr->getValid()) { $lIdLot = $pParam["detailReservation"][0]["stoIdDetailCommande"]; $lDetailMarche = DetailMarcheViewManager::selectByLot($lIdLot); $lReservationService = new ReservationService(); $lReservation = new ReservationVO(); $lReservation->getId()->setIdCompte($pParam["id_compte"]); $lReservation->getId()->setIdCommande($lDetailMarche[0]->getComId()); foreach ($pParam["detailReservation"] as $lDetail) { $lDetailCommande = DetailCommandeManager::select($lDetail["stoIdDetailCommande"]); $lPrix = $lDetail["stoQuantite"] / $lDetailCommande->getTaille() * $lDetailCommande->getPrix(); $lDetailReservation = new DetailReservationVO(); $lDetailReservation->setIdDetailCommande($lDetail["stoIdDetailCommande"]); $lDetailReservation->setQuantite($lDetail["stoQuantite"]); $lDetailReservation->setMontant($lPrix); /*$lDetailProduit = DetailMarcheViewManager::selectByLot($lDetail["stoIdDetailCommande"]); $lDetailReservation->setIdNomProduit($lDetailProduit[0]->getNproId());*/ $lReservation->addDetailReservation($lDetailReservation); } $lReservationService = new ReservationService(); $lIdOperation = $lReservationService->set($lReservation); } return $lVr; }
/** * @name validAjout($pData) * @return ReservationMarcheVR * @desc Test la validite de l'élément */ public static function validAjout($pData) { $lVr = new ReservationMarcheVR(); //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]; if ($lReservationService->enCours($lIdReservation)) { $lIdOperation = $lOperation->getId(); } else { $lIdOperation = -1; } // Si il y a une réservation existante /*$lTypeResa = array(0,7,15); if(!is_null($lIdOperation) && in_array($lOperation->getTypePaiement(), $lTypeResa)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_220_CODE); $lErreur->setMessage(MessagesErreurs::ERR_220_MSG); $lVr->getLog()->addErreur($lErreur); }*/ if ($lVr->getValid()) { foreach ($pData['detailReservation'] as $lReservation) { $lDetailMarche = DetailMarcheViewManager::selectByLot($lReservation["stoIdDetailCommande"]); $lIdProduit = $lDetailMarche[0]->getProId(); $lReservation["idOperation"] = $lIdOperation; $lVrReservation = DetailReservationMarcheValid::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 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 controleModifierReservation($pParam) * @return ListeReservationCommandeVR * @desc Vérifie si il est possible de modifier la réservation */ public function controleModifierReservation($pParam) { $pParam['idCompte'] = $_SESSION[ID_COMPTE]; $lVr = ReservationMarcheValid::validAjout($pParam); if ($lVr->getValid()) { $lIdLot = $pParam["detailReservation"][0]["stoIdDetailCommande"]; $lDetailMarche = DetailMarcheViewManager::selectByLot($lIdLot); $lResponse = new ReservationMarcheResponse(); $lMarcheService = new MarcheService(); $lResponse->setMarche($lMarcheService->get($lDetailMarche[0]->getComId())); $lResponse->setAdherent(AdherentViewManager::select($_SESSION[DROIT_ID])); return $lResponse; } return $lVr; }