/** * @name delete($pId) * @param IdAchatVO * @desc Supprime un achat */ public function delete($pId) { $lAchatValid = new NAMESPACE_CLASSE\NAMESPACE_VALIDATEUR\MOD_SERVICE\AchatValid(); if (!is_null($pId) && $lAchatValid->select($pId)) { $lAchatActuel = $this->select($pId); $lOperationService = new OperationService(); // Suppression des opérations if (!is_null($lAchatActuel->getRechargement())) { // Rechargement $lOperationService->delete($lAchatActuel->getRechargement()->getId()); } $lIdCompte = 0; $lIdMarche = 0; $lIdOperationAchat = 0; if (!is_null($lAchatActuel->getOperationAchat())) { // Achat avec Ope Zeybu $lIdOperationAchat = $lAchatActuel->getOperationAchat()->getId(); $lOperationService->delete($lAchatActuel->getOperationAchat()->getId()); $lOperationAchatChampComp = $lAchatActuel->getOperationAchat()->getChampComplementaire(); $lOperationService->delete($lOperationAchatChampComp[8]->getValeur()); $lIdCompte = $lAchatActuel->getOperationAchat()->getIdCompte(); $lIdMarche = $lOperationAchatChampComp[1]->getValeur(); } $lIdOperationAchatSolidaire = 0; if (!is_null($lAchatActuel->getOperationAchatSolidaire())) { // Achat solidaire avec ope zeybu $lIdOperationAchatSolidaire = $lAchatActuel->getOperationAchatSolidaire()->getId(); $lOperationService->delete($lAchatActuel->getOperationAchatSolidaire()->getId()); $lOperationAchatSolidaireChampComp = $lAchatActuel->getOperationAchatSolidaire()->getChampComplementaire(); $lOperationService->delete($lOperationAchatSolidaireChampComp[8]->getValeur()); $lIdCompte = $lAchatActuel->getOperationAchatSolidaire()->getIdCompte(); $lIdMarche = $lOperationAchatSolidaireChampComp[1]->getValeur(); } // Suppression de l'ensemble des lignes de produit DetailAchatManager::delete($lIdOperationAchat, $lIdOperationAchatSolidaire); $lDetailOperationService = new DetailOperationService(); $lStockService = new StockService(); foreach ($lAchatActuel->getProduits() as $lProduitInital) { $lStockService->delete($lProduitInital->getIdStock()); $lDetailOperationService->delete($lProduitInital->getIdDetailOperation()); $lStockService->delete($lProduitInital->getIdStockSolidaire()); $lDetailOperationService->delete($lProduitInital->getIdDetailOperationSolidaire()); } // Suppression de la réservation $lReservationService = new ReservationService(); $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($lIdCompte); $lIdReservation->setIdCommande($lIdMarche); $lReservationService->delete($lIdReservation); return true; } return false; }
/** * @name validGetMarche($pData) * @return ReservationMarcheVR * @desc Test la validite de l'élément */ public static function validGetMarche($pData) { $lVr = new ReservationMarcheVR(); //Tests inputs if (!isset($pData['id_commande'])) { $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_int((int) $pData['id_commande'])) { $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); } 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['id_commande'])) { $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); } $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pData['idCompte']); $lIdReservation->setIdCommande($pData['id_commande']); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); $lOperation = $lOperations[0]; $lIdOperation = $lOperation->getId(); // Si il y a déjà 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); } } return $lVr; }
/** * @name modifierAchat($pParam) * @return ListeReservationCommandeVR * @desc Met à jour une réservation */ public function modifierAchat($pParam) { $lVr = AfficheAchatAdherentValid::validModifierAchat($pParam); if ($lVr->getValid()) { $lAchatData = $pParam["achat"]; $lAchat = new AchatVO(); if ($lAchatData['idAchat'] < 0) { // Si c'est un ajout $lVr = AfficheAchatAdherentValid::validAjoutAchat($lAchatData); if ($lVr->getValid()) { // Recherche si il y a une réservation $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($lAchatData["idCompte"]); $lIdReservation->setIdCommande($lAchatData["idMarche"]); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); if ($lOperations[0]->getTypePaiement() == 0) { $lAchat->getId()->setIdReservation($lOperations[0]->getId()); } $lAchat->getId()->setIdCompte($lAchatData["idCompte"]); $lAchat->getId()->setIdCommande($lAchatData["idMarche"]); foreach ($lAchatData["produits"] as $lDetail) { $lDetailCommande = DetailCommandeManager::selectByIdProduit($lDetail["id"]); $lDetailAchat = new DetailReservationVO(); $lDetailAchat->setIdDetailCommande($lDetailCommande[0]->getId()); $lDetailAchat->setQuantite($lDetail["quantite"]); $lDetailAchat->setMontant($lDetail["prix"]); $lProduit = ProduitManager::select($lDetail["id"]); $lDetailAchat->setIdNomProduit($lProduit->getIdNomProduit()); $lDetailAchat->setUnite($lProduit->getUniteMesure()); if ($lAchatData["idAchat"] == -1) { $lAchat->addDetailAchat($lDetailAchat); } else { if ($lAchatData["idAchat"] == -2) { $lAchat->addDetailAchatSolidaire($lDetailAchat); } } } } else { return $lVr; } } else { $lOperationService = new OperationService(); $lOperation = $lOperationService->get($lAchatData["idAchat"]); $lAchat = new AchatVO(); $lAchat->getId()->setIdCompte($lOperation->getIdCompte()); $lAchat->getId()->setIdCommande($lOperation->getIdCommande()); $lAchat->getId()->setIdAchat($lOperation->getId()); foreach ($lAchatData["produits"] as $lDetail) { $lDetailCommande = DetailCommandeManager::selectByIdProduit($lDetail["id"]); $lDetailAchat = new DetailReservationVO(); $lDetailAchat->setIdDetailCommande($lDetailCommande[0]->getId()); $lDetailAchat->setQuantite($lDetail["quantite"]); $lDetailAchat->setMontant($lDetail["prix"]); $lProduit = ProduitManager::select($lDetail["id"]); $lDetailAchat->setIdNomProduit($lProduit->getIdNomProduit()); $lDetailAchat->setUnite($lProduit->getUniteMesure()); if ($lOperation->getTypePaiement() == 7) { $lAchat->addDetailAchat($lDetailAchat); } else { if ($lOperation->getTypePaiement() == 8) { $lAchat->addDetailAchatSolidaire($lDetailAchat); } } } } $lAchatService = new AchatService(); $lIdOperation = $lAchatService->set($lAchat); } return $lVr; }
/** * @name getInfoAchatMarche($pParam) * @return InfoAchatCommandeResponse * @desc Retourne les infos de réservation d'un adhérent */ public function getInfoAchatMarche($pParam) { $lVr = MarcheValid::validGetInfoAchatMarche($pParam); if ($lVr->getValid()) { $lResponse = new InfoAchatCommandeResponse(); if ($pParam["id_adherent"] != 0) { // Si ce n'est pas le compte invité $lAdherent = AdherentViewManager::select($pParam["id_adherent"]); $lResponse->setAdherent($lAdherent); } $lStockService = new StockService(); $lStockProduitsDisponible = $lStockService->getProduitsDisponible(); // Stock de produit disponible $lStock = array(); $lProduitsMarche = array(); $lProduitsReservation = array(); $lProduitsAchat = array(); if ($pParam["id_commande"] != -1) { // Si ce n'est pas la caisse permanente $lMarcheService = new MarcheService(); $lMarche = $lMarcheService->get($pParam["id_commande"]); $lProduitsMarche = $lMarche->getProduits(); $lResponse->setMarche($lMarche); // Les informations du marché if ($pParam["id_adherent"] != 0) { // Si ce n'est pas le compte invité $lReservationService = new ReservationService(); $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($lAdherent->getAdhIdCompte()); $lIdReservation->setIdCommande($pParam["id_commande"]); // Récupère les réservations actives $lProduitsReservation = $lReservationService->get($lIdReservation, true)->getDetailReservation(); $lResponse->setReservation($lProduitsReservation); // La réservation $lAchatService = new AchatService(); $lOperationsAchat = $lAchatService->selectOperationAchat($lAdherent->getAdhIdCompte(), $pParam["id_commande"]); $lAchat = new AchatVO(); if (!is_null($lOperationsAchat[0]->getId())) { $lAchat = $lAchatService->get($lOperationsAchat[0]->getId()); $lProduitsAchat = $lAchat->getProduits(); } else { $lOperationService = new OperationService(); $lOperationsRechargement = $lOperationService->getOperationRechargementSurMarche($lAdherent->getAdhIdCompte(), $pParam["id_commande"]); if (!is_null($lOperationsRechargement[0]->getId())) { $lAchat = $lAchatService->get($lOperationsRechargement[0]->getId()); } } $lResponse->setAchats($lAchat); // L'achat } } if ($pParam["id_adherent"] != 0) { // Si ce n'est pas le compte invité $lAdhesionService = new AdhesionService(); $lResponse->setNbAdhesionEnCours($lAdhesionService->getNbAdhesionEnCoursSurAdherent($pParam["id_adherent"])); } // Fusion des stocks $lLotsProduits = array(); foreach ($lStockProduitsDisponible as $lProduitStock) { if (!is_null($lProduitStock->getId())) { $lAjout = true; foreach ($lProduitsMarche as $lProduitMarche) { if ($lProduitStock->getIdNom() == $lProduitMarche->getIdNom() && $lProduitStock->getUnite() == $lProduitMarche->getUnite()) { $lAjout = false; } } if ($lAjout) { if (!isset($lStock[$lProduitStock->getCproNom()])) { $lStock[$lProduitStock->getCproNom()] = array("cproId" => $lProduitStock->getIdCategorie(), "cproNom" => $lProduitStock->getCproNom(), "produits" => array()); } $lUnite = $lProduitStock->getUnite(); $lStock[$lProduitStock->getCproNom()]["produits"][$lProduitStock->getNom() . $lProduitStock->getUnite()] = new ProduitDetailAchatAfficheVO($lProduitStock->getIdNom(), null, null, null, null, null, null, null, null, null, $lUnite, null, $lUnite, null, null, $lProduitStock->getIdCategorie(), $lProduitStock->getCproNom(), null, $lProduitStock->getNom()); $lLotsProduits[$lProduitStock->getIdNom() . $lProduitStock->getUnite()] = array("nom" => $lProduitStock->getNom(), "type" => "modele", "lots" => $lProduitStock->getLots()); } } } foreach ($lProduitsMarche as $lProduitMarche) { if (!isset($lStock[$lProduitMarche->getCproNom()])) { $lStock[$lProduitMarche->getCproNom()] = array("cproId" => $lProduitMarche->getIdCategorie(), "cproNom" => $lProduitMarche->getCproNom(), "produits" => array()); } $lUnite = !is_null($lProduitMarche->getUnite()) ? $lProduitMarche->getUnite() : $lProduitMarche->getUniteSolidaire(); $lMontant = NULL; $lQuantite = NULL; $lIdDetailCommande = NULL; // Ajout des réservations if (empty($lProduitsAchat)) { foreach ($lProduitsReservation as $lProduitReservation) { if ($lProduitReservation->getIdNomProduit() == $lProduitMarche->getIdNom() && $lProduitReservation->getUnite() == $lProduitMarche->getUnite()) { $lQuantite = $lProduitReservation->getQuantite(); $lMontant = $lProduitReservation->getMontant(); $lIdDetailCommande = $lProduitReservation->getIdDetailCommande(); } } } $lStock[$lProduitMarche->getCproNom()]["produits"][$lProduitMarche->getNom() . $lProduitMarche->getUnite()] = new ProduitDetailAchatAfficheVO($lProduitMarche->getIdNom(), null, null, null, null, $lIdDetailCommande, null, null, null, $lQuantite, $lUnite, null, $lUnite, $lMontant, null, $lProduitMarche->getIdCategorie(), $lProduitMarche->getCproNom(), null, $lProduitMarche->getNom()); $lLotsProduits[$lProduitMarche->getIdNom() . $lProduitMarche->getUnite()] = array("nom" => $lProduitMarche->getNom(), "type" => "marche", "lots" => $lProduitMarche->getLots()); } foreach ($lProduitsAchat as $lProduitAchat) { $lUnite = !is_null($lProduitAchat->getUnite()) ? $lProduitAchat->getUnite() : $lProduitAchat->getUniteSolidaire(); if (!is_null($lUnite)) { if (isset($lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite])) { $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdStock($lProduitAchat->getIdStock()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdStockSolidaire($lProduitAchat->getIdStockSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailCommande($lProduitAchat->getIdDetailCommande()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdModeleLot($lProduitAchat->getIdModeleLot()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailCommandeSolidaire($lProduitAchat->getIdDetailCommandeSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdModeleLotSolidaire($lProduitAchat->getIdModeleLotSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setQuantite($lProduitAchat->getQuantite()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setQuantiteSolidaire($lProduitAchat->getQuantiteSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setMontant($lProduitAchat->getMontant()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setMontantSolidaire($lProduitAchat->getMontantSolidaire()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailOperation($lProduitAchat->getIdDetailOperation()); $lStock[$lProduitAchat->getCproNom()][$lProduitAchat->getNproNom()][$lUnite]->setIdDetailOperationSolidaire($lProduitAchat->getIdDetailOperationSolidaire()); } else { if (!isset($lStock[$lProduitAchat->getCproNom()])) { $lStock[$lProduitAchat->getCproNom()] = array("cproId" => $lProduitAchat->getCproId(), "cproNom" => $lProduitAchat->getCproNom(), "produits" => array()); } $lProduitAchat->setUnite($lUnite); $lProduitAchat->setUniteSolidaire($lUnite); $lStock[$lProduitAchat->getCproNom()]["produits"][$lProduitAchat->getNproNom() . $lUnite] = $lProduitAchat; // Ajout des lots $lModelesLot = ModeleLotManager::selectByIdNomProduit($lProduitAchat->getIdNomProduit()); // Récupère même les lots supprimés car il y a peut être eu un achat sur ce lot précédemment $lLots = array(); foreach ($lModelesLot as $lModeleLot) { $lLot = new DetailMarcheVO(); $lLot->setId($lModeleLot->getId()); $lLot->setTaille($lModeleLot->getQuantite()); $lLot->setPrix($lModeleLot->getPrix()); $lLots[$lModeleLot->getId()] = $lLot; } $lLotsProduits[$lProduitAchat->getIdNomProduit() . $lUnite] = array("nom" => $lProduitAchat->getNproNom(), "type" => "modele", "lots" => $lLots); } } } ksort($lStock); $lResponse->setStock($lStock); // Stock de produit disponible $lResponse->setLots($lLotsProduits); // Lots des produits $lBanqueService = new BanqueService(); $lTypePaiementService = new TypePaiementService(); $lResponse->setTypePaiement($lTypePaiementService->selectVisible()); // Type de paiment $lResponse->setBanques($lBanqueService->getAllActif()); // Liste des banques $lResponse->setIdRequete(uniqid()); return $lResponse; } return $lVr; }
/** * @name supprimerReservation($pParam) * @return ListeReservationCommandeVR * @desc Met à jour une réservation */ public function supprimerReservation($pParam) { $lVr = CommandeReservationValid::validDelete($pParam); if ($lVr->getValid()) { $lReservationService = new ReservationService(); $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pParam["id_compte"]); $lIdReservation->setIdCommande($pParam["id_commande"]); $lReservationService->delete($lIdReservation); } return $lVr; }
/** * @name validUpdate($pData) * @return CommandeReservationVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lVr = CommandeReservationValid::validAjout($pData); //Tests inputs if (!isset($pData['id_commande'])) { $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_int((int) $pData['id_commande'])) { $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['id_commande'])) { $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); } $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pData['id_compte']); $lIdReservation->setIdCommande($pData['id_commande']); $lReservationService = new ReservationService(); $lOperations = $lReservationService->selectOperationReservation($lIdReservation); $lOperation = $lOperations[0]; $lIdOperation = $lOperation->getId(); // Si la réservation n'est pas déjà achetée if (!is_null($lIdOperation) && $lOperation->getTypePaiement() == 22) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_274_CODE); $lErreur->setMessage(MessagesErreurs::ERR_274_MSG); $lVr->getLog()->addErreur($lErreur); } } return $lVr; }
/** * @name supprimerProduit($pId) * @param integer * @desc Supprime un produit du marché */ public function supprimerProduit($pId) { $lProduit = ProduitManager::select($pId); // Suppression des lots $lLots = DetailCommandeManager::selectByIdProduit($pId); foreach ($lLots as $lLot) { $lLot->setEtat(1); DetailCommandeManager::update($lLot); } $lProduit->setEtat(1); ProduitManager::update($lProduit); // Modif des réservations $lReservationService = new ReservationService(); $lIdMarche = $lProduit->getIdCommande(); foreach ($lLots as $lLot) { // Chaque lot modifié $lListeDetailReservation = $lReservationService->getReservationSurLot($lLot->getId()); if (!is_null($lListeDetailReservation[0]->getDopeIdCompte())) { // Si il y a des réservations foreach ($lListeDetailReservation as $lDetailReservation) { // Chaque réservation de lot modifié $lIdReservationVO = new IdReservationVO(); $lIdReservationVO->setIdCompte($lDetailReservation->getDopeIdCompte()); $lIdReservationVO->setIdCommande($lIdMarche); $lReservationVO = $lReservationService->get($lIdReservationVO); $lNvDetailReservation = array(); foreach ($lReservationVO->getDetailReservation() as $lDetailReservationActuelle) { if ($lDetailReservationActuelle->getIdDetailCommande() != $lLot->getId()) { // Ne positionne que les autres produits array_push($lNvDetailReservation, $lDetailReservationActuelle); } } $lReservationVO->setDetailReservation($lNvDetailReservation); $lReservationService->set($lReservationVO); // Maj de la reservation } } } }
/** * @name delete($pIdAdherent) * @param integer * @return AdherentVO * @desc Supprime un adherent */ public function delete($pIdAdherent) { $lAdherentValid = new NAMESPACE_CLASSE\NAMESPACE_VALIDATEUR\MOD_SERVICE\AdherentValid(); if ($lAdherentValid->delete($pIdAdherent)) { $lAdherent = AdherentManager::select($pIdAdherent); $lCompteService = new CompteService(); $lNbAdherentSurCompte = $lCompteService->getNombreAdherentSurCompte($lAdherent->getIdCompte()); $lAdhesionService = new AdhesionService(); // Suppression des adhésions $lAdhesionService->deleteAdhesionAdherentByIdAdherent($pIdAdherent); // Change l'état à supprimé $lAdherent->setEtat(2); AdherentManager::update($lAdherent); // Désactive l'identification $lIdentification = IdentificationManager::selectByIdType($lAdherent->getId(), 1); $lIdentification = $lIdentification[0]; $lIdentification->setAutorise(0); IdentificationManager::update($lIdentification); //Désinscription de la mailing liste $lMailingListeService = new MailingListeService(); if ($lAdherent->getCourrielPrincipal() != "") { $lMailingListeService->delete($lAdherent->getCourrielPrincipal()); } if ($lAdherent->getCourrielSecondaire() != "") { $lMailingListeService->delete($lAdherent->getCourrielSecondaire()); } // Si c'est le dernier adhérent du compte : suppression des réservations et abonnements if ($lNbAdherentSurCompte < 2) { // Suppression des réservations en cours $lMarcheService = new MarcheService(); $lReservations = $lMarcheService->getNonAchatParCompte($lAdherent->getIdCompte()); if (!is_null($lReservations[0]->getId())) { $lReservationService = new ReservationService(); foreach ($lReservations as $lReservation) { $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($lAdherent->getIdCompte()); $lIdReservation->setIdCommande($lReservation->getId()); $lReservationService->delete($lIdReservation); } } // Suppression des abonnements $lAbonnementService = new AbonnementService(); $lProduits = $lAbonnementService->getProduitsAbonne($lAdherent->getIdCompte()); foreach ($lProduits as $lProduit) { $lAbonnementService->deleteAbonnement($lProduit->getCptAboId()); } } return true; } else { return false; } }
/** * @name supprimerReservation($pParam) * @return ListeReservationCommandeVR * @desc Supprime une réservation */ public function supprimerReservation($pParam) { $pParam['idCompte'] = $_SESSION[ID_COMPTE]; $lVr = ReservationMarcheValid::validDelete($pParam); if ($lVr->getValid()) { $lReservationService = new ReservationService(); $lIdReservation = new IdReservationVO(); $lIdReservation->setIdCompte($pParam['idCompte']); $lIdReservation->setIdCommande($pParam["id_commande"]); $lReservationService->delete($lIdReservation); // Repositionne une réservations sur les abonnements $lAbonnementService = new AbonnementService(); $lAbonnementService->ajoutReservation($pParam['idCompte'], $pParam["id_commande"]); } return $lVr; }