/**
  * @name getModeleLot($pParam)
  * @return DetailProduitResponse
  * @desc Retourne les Modèles de lot d'un produit
  */
 public function getModeleLot($pParam)
 {
     $lVr = NomProduitCatalogueValid::validDelete($pParam);
     if ($lVr->getValid()) {
         $lId = $pParam['idNomProduit'];
         $lModelesLot = ModeleLotViewManager::selectByIdNomProduit($lId);
         $lAbonnementService = new AbonnementService();
         $lResponse = new ModelesLotResponse();
         $lResponse->setModelesLot($lModelesLot);
         $lDetailAbonnement = $lAbonnementService->getProduitByIdNom($lId);
         $lNvLots = array();
         foreach ($lDetailAbonnement->getLots() as $lLot) {
             $lAbonnement = $lAbonnementService->getAbonnementSurLot($lLot->getId());
             $lLotAbonnementMarcheVO = new LotAbonnementMarcheVO();
             $lLotAbonnementMarcheVO->setId($lLot->getId());
             $lLotAbonnementMarcheVO->setIdProduitAbonnement($lLot->getIdProduitAbonnement());
             $lLotAbonnementMarcheVO->setTaille($lLot->getTaille());
             $lLotAbonnementMarcheVO->setPrix($lLot->getPrix());
             if (!is_null($lAbonnement[0]->getCptAboId())) {
                 $lLotAbonnementMarcheVO->setReservation(true);
             }
             array_push($lNvLots, $lLotAbonnementMarcheVO);
         }
         $lDetailAbonnement->setLots($lNvLots);
         $lResponse->setDetailAbonnement($lDetailAbonnement);
         return $lResponse;
     }
     return $lVr;
 }
 /**
  * @name getDetailProduit($pParam)
  * @return DetailProduitResponse
  * @desc Retourne le détail d'un produit
  */
 public function getDetailProduit($pParam)
 {
     $lVr = NomProduitCatalogueValid::validDelete($pParam);
     if ($lVr->getValid()) {
         $lId = $pParam['idNomProduit'];
         $lNomProduit = NomProduitViewManager::select($lId);
         $lNomProduit = $lNomProduit[0];
         $lNomProduitCatalagueVO = new NomProduitCatalogueVO();
         $lNomProduitCatalagueVO->setId($lNomProduit->getNProIdFerme());
         $lNomProduitCatalagueVO->setNumero($lNomProduit->getNProNumero());
         $lNomProduitCatalagueVO->setIdNomProduit($lNomProduit->getNProId());
         $lNomProduitCatalagueVO->setIdCategorie($lNomProduit->getCproId());
         $lNomProduitCatalagueVO->setCproNom($lNomProduit->getCproNom());
         $lNomProduitCatalagueVO->setNom($lNomProduit->getNProNom());
         $lNomProduitCatalagueVO->setDescription($lNomProduit->getNProDescription());
         $lProducteurs = NomProduitProducteurViewManager::select($lId);
         $lNomProduitCatalagueVO->setProducteurs($lProducteurs);
         $lCaracteristiques = CaracteristiqueProduitViewManager::select($lId);
         $lNomProduitCatalagueVO->setCaracteristiques($lCaracteristiques);
         $lModelesLot = ModeleLotViewManager::selectByIdNomProduit($lId);
         $lNomProduitCatalagueVO->setModelesLot($lModelesLot);
         $lResponse = new DetailProduitResponse();
         $lResponse->setProduit($lNomProduitCatalagueVO);
         return $lResponse;
     }
     return $lVr;
 }
 /**
  * @name validUpdate($pData)
  * @return NomProduitCatalogueVR
  * @desc Test la validite de l'élément
  */
 public static function validUpdate($pData)
 {
     $lVr = NomProduitCatalogueValid::validDelete($pData);
     if ($lVr->getvalid()) {
         return NomProduitCatalogueValid::validAjout($pData);
     }
     return $lVr;
 }