/** * @name getDetailAbonnement($pParam) * @desc Donne le détail d'un produit et de l'abonnement */ public function getDetailAbonnement($pParam) { $lVr = ListeAbonneValid::validGetDetailAbonnement($pParam); if ($lVr->getValid()) { $lAbonnementService = new AbonnementService(); $lResponse = new DetailAbonnementResponse(); $lResponse->setProduit($lAbonnementService->getDetailProduit($pParam["idProduit"])); $lResponse->setAbonnement($lAbonnementService->getAbonnement($pParam["idCompteAbonnement"])); return $lResponse; } return $lVr; }
/** * @name validUpdate($pData) * @return ListeAbonneVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lTestId = ListeAbonneValid::validDelete($pData); if ($lTestId->getValid()) { $lVr = new ListeAbonneVR(); //Tests inputs 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['idProduitAbonnement'])) { $lVr->setValid(false); $lVr->getIdProduitAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdProduitAbonnement()->addErreur($lErreur); } if (!isset($pData['quantite'])) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQuantite()->addErreur($lErreur); } if (!isset($pData['idLotAbonnement'])) { $lVr->setValid(false); $lVr->getIdLotAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdLotAbonnement()->addErreur($lErreur); } if ($lVr->getValid()) { 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_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdCompte()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idProduitAbonnement'], 0, 11)) { $lVr->setValid(false); $lVr->getIdProduitAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdProduitAbonnement()->addErreur($lErreur); } if (!is_int((int) $pData['idProduitAbonnement'])) { $lVr->setValid(false); $lVr->getIdProduitAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdProduitAbonnement()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['idLotAbonnement'], 0, 11)) { $lVr->setValid(false); $lVr->getIdLotAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getIdLotAbonnement()->addErreur($lErreur); } if (!is_int((int) $pData['idLotAbonnement'])) { $lVr->setValid(false); $lVr->getIdLotAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getIdLotAbonnement()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['quantite'], 0, 12) || $pData['quantite'] > 999999999.99) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getQuantite()->addErreur($lErreur); } if (!is_float((double) $pData['quantite'])) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getQuantite()->addErreur($lErreur); } //Tests Fonctionnels if (empty($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 (empty($pData['idProduitAbonnement'])) { $lVr->setValid(false); $lVr->getIdProduitAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdProduitAbonnement()->addErreur($lErreur); } if (empty($pData['idLotAbonnement'])) { $lVr->setValid(false); $lVr->getIdLotAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdLotAbonnement()->addErreur($lErreur); } if (empty($pData['quantite'])) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQuantite()->addErreur($lErreur); } $lCompteService = new CompteService(); if (!$lCompteService->existe($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); } $lAbonnementService = new AbonnementService(); if (!$lAbonnementService->produitExiste($pData['idProduitAbonnement'])) { $lVr->setValid(false); $lVr->getIdProduitAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdProduitAbonnement()->addErreur($lErreur); } if (!$lAbonnementService->lotExiste($pData['idLotAbonnement'])) { $lVr->setValid(false); $lVr->getIdLotAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdLotAbonnement()->addErreur($lErreur); } if (!$lAbonnementService->lotAppartientProduit($pData['idProduitAbonnement'], $pData['idLotAbonnement'])) { $lVr->setValid(false); $lVr->getIdProduitAbonnement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getIdProduitAbonnement()->addErreur($lErreur); $lVr->getIdLotAbonnement()->addErreur($lErreur); } if ($pData['quantite'] < 0) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getQuantite()->addErreur($lErreur); } $lAbonnement = $lAbonnementService->getAbonnement($pData['id']); $lDetailProduit = $lAbonnementService->getDetailProduit($pData['idProduitAbonnement']); $lDetailProduit = $lDetailProduit[0]; if ($lDetailProduit->getProAboStockInitial() - $lDetailProduit->getProAboReservation() + $lAbonnement->getCptAboQuantite() < $pData['quantite']) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_249_CODE); $lErreur->setMessage(MessagesErreurs::ERR_249_MSG); $lVr->getQuantite()->addErreur($lErreur); } if ($lDetailProduit->getProAboMax() < $pData['quantite'] && $lDetailProduit->getProAboMax() != -1) { $lVr->setValid(false); $lVr->getQuantite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_250_CODE); $lErreur->setMessage(MessagesErreurs::ERR_250_MSG); $lVr->getQuantite()->addErreur($lErreur); } } return $lVr; } return $lTestId; }