/** * @name detailProduitMarche($pParam) * @param IdProduit * @desc Retourne le détail d'un produit */ public function detailProduitMarche($pParam) { $lVr = ProduitMarcheValid::validDelete($pParam); if ($lVr->getValid()) { $lMarcheService = new MarcheService(); $lReservationService = new ReservationService(); $lProduit = $lMarcheService->selectProduit($pParam["id"]); $lId = $lProduit->getIdNom(); $lModelesLot = ModeleLotViewManager::selectByIdNomProduit($lId); $lResponse = new DetailProduitResponse(); $lResponse->setModelesLot($lModelesLot); $lNvLots = array(); foreach ($lProduit->getLots() as $lLot) { $lReservation = $lReservationService->getReservationSurLot($lLot->getId()); $lNvLot = new DetailMarcheReservationVO(); $lNvLot->setId($lLot->getId()); $lNvLot->setTaille($lLot->getTaille()); $lNvLot->setPrix($lLot->getPrix()); if (!is_null($lReservation[0]->getStoId())) { $lNvLot->setReservation(true); } array_push($lNvLots, $lNvLot); } $lProduit->setLots($lNvLots); $lResponse->setProduit($lProduit); return $lResponse; } return $lVr; }
/** * @name validUpdate($pData) * @return ProduitMarcheVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lTestId = ProduitMarcheValid::validDelete($pData); if ($lTestId->getValid()) { $lVr = new ProduitMarcheVR(); //Tests inputs if (!isset($pData['unite'])) { $lVr->setValid(false); $lVr->getUnite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getUnite()->addErreur($lErreur); } if (!isset($pData['qteMaxCommande'])) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (!isset($pData['qteRestante'])) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if (!isset($pData['lots'])) { $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['type'])) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getType()->addErreur($lErreur); } if (!isset($pData['lotRemplacement'])) { $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 (!TestFonction::checkLength($pData['unite'], 0, 20)) { $lVr->setValid(false); $lVr->getUnite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getUnite()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['qteMaxCommande'], 0, 12) || $pData['qteMaxCommande'] > 999999999.99) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (!is_float((double) $pData['qteMaxCommande'])) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['qteRestante'], 0, 12) || $pData['qteRestante'] > 999999999.99) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if (!is_float((double) $pData['qteRestante'])) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_109_CODE); $lErreur->setMessage(MessagesErreurs::ERR_109_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if (!is_array($pData['lots'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_110_CODE); $lErreur->setMessage(MessagesErreurs::ERR_110_MSG); $lVr->getLog()->addErreur($lErreur); } if (!TestFonction::checkLength($pData['type'], 0, 11)) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_101_CODE); $lErreur->setMessage(MessagesErreurs::ERR_101_MSG); $lVr->getType()->addErreur($lErreur); } if (!is_int((int) $pData['type'])) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_108_CODE); $lErreur->setMessage(MessagesErreurs::ERR_108_MSG); $lVr->getType()->addErreur($lErreur); } if (!is_array($pData['lotRemplacement'])) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_110_CODE); $lErreur->setMessage(MessagesErreurs::ERR_110_MSG); $lVr->getLog()->addErreur($lErreur); } //Tests Fonctionnels if (empty($pData['unite'])) { $lVr->setValid(false); $lVr->getUnite()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getUnite()->addErreur($lErreur); } if (empty($pData['lots'])) { $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 ($pData['type'] == '' && $pData['type'] != 0) { $lVr->setValid(false); $lVr->getType()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_202_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getType()->addErreur($lErreur); } // Les quantités sont positives if ($pData['qteMaxCommande'] != -1 && $pData['qteMaxCommande'] < 0) { $lVr->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getQteMaxCommande()->addErreur($lErreur); } if ($pData['qteRestante'] != -1 && $pData['qteRestante'] < 0) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_215_CODE); $lErreur->setMessage(MessagesErreurs::ERR_215_MSG); $lVr->getQteRestante()->addErreur($lErreur); } if ($pData['qteMaxCommande'] != -1 && $pData['qteRestante'] != -1 && $pData['qteMaxCommande'] > $pData['qteRestante']) { $lVr->setValid(false); $lVr->getQteRestante()->setValid(false); $lVr->getQteMaxCommande()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_205_CODE); $lErreur->setMessage(MessagesErreurs::ERR_205_MSG); $lVr->getQteRestante()->addErreur($lErreur); $lVr->getQteMaxCommande()->addErreur($lErreur); } if (is_array($pData['lots'])) { $lValidLot = new DetailCommandeValid(); $i = 0; while (isset($pData['lots'][$i])) { $lVrLot = $lValidLot->validAjout($pData['lots'][$i]); if (!$lVrLot->getValid()) { $lVr->setValid(false); } /*if(!empty($pData['qteMaxCommande'])) { if(floatval($pData['lots'][$i]['taille']) > floatval($pData['qteMaxCommande'])) { $lVr->setValid(false); $lVrLot->setValid(false); $lVrLot->getTaille()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_206_CODE); $lErreur->setMessage(MessagesErreurs::ERR_206_MSG); $lVrLot->getTaille()->addErreur($lErreur); } }*/ $lVr->addLots($lVrLot); $i++; } } } return $lVr; } return $lTestId; }