/** * @name modifierProduitMarche($pParam) * @param ProduitVO * @desc Met à jour un produit du marché */ public function modifierProduitMarche($pParam) { $lVr = ProduitMarcheValid::validUpdate($pParam); if ($lVr->getValid()) { $lMarcheService = new MarcheService(); $lProduit = ProduitCommandeToVO::convertFromArray($pParam); $lMarcheService->updateProduit($lProduit, $pParam["lotRemplacement"]); } return $lVr; }
/** * @name validAjoutProduit($pData) * @return CommandeCompleteVR * @desc Test la validite de l'élément */ public static function validAjoutProduit($pData) { $lVr = CommandeCompleteValid::validDelete($pData); if ($lVr->getValid()) { $lVr = ProduitMarcheValid::validAjout($pData); if ($lVr->getValid()) { // Test si produit déjà dans le marché $lProduit = ProduitManager::selectbyIdNomProduitIdMarche($pData['idNom'], $pData['id']); $lType = $lProduit[0]->getType(); $lId = $lProduit[0]->getId(); if (!empty($lId) && $lType == $pData['type']) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_211_CODE); $lErreur->setMessage(MessagesErreurs::ERR_211_MSG); $lVr->getLog()->addErreur($lErreur); } } } 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; }