/** * @name validAjoutOperation($pData) * @return OperationDetailVR * @desc Test la validite de l'élément */ public static function validAjoutOperation($pData) { return OperationDetailValid::validAjout($pData, array("reel" => true, "negatif" => true)); }
/** * @name validUpdate($pData) * @return OperationDetailVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lVr = OperationDetailValid::validDelete($pData); if ($lVr->getValid()) { return OperationDetailValid::validAjout($pData); } return $lVr; }
/** * @name validUpdate($pData) * @return OperationDetailVR * @desc Test la validite de l'élément */ public static function validUpdate($pData, $pParam = array("negatif" => false, "reel" => false)) { $lVr = OperationDetailValid::validDelete($pData); if ($lVr->getValid()) { return OperationDetailValid::validAjout($pData, $pParam); } return $lVr; }
/** * @name validEnregistrer($pData) * @return AchatVR * @desc Test la validite de l'élément */ public static function validEnregistrer($pData) { $lVr = new AchatVR(); //Tests inputs if (!isset($pData['operationAchat'])) { $lVr->setValid(false); $lVr->getOperationAchat()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationAchat()->addErreur($lErreur); } if (!isset($pData['operationAchatSolidaire'])) { $lVr->setValid(false); $lVr->getOperationAchatSolidaire()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperationAchatSolidaire()->addErreur($lErreur); } if (!isset($pData['produits'])) { $lVr->setValid(false); $lVr->getProduits()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getProduits()->addErreur($lErreur); } if (!isset($pData['rechargement'])) { $lVr->setValid(false); $lVr->getRechargement()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getRechargement()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Techniques $lIdCompte = 0; if (!is_null($pData['operationAchat']) && !empty($pData['operationAchat'])) { if ($pData['operationAchat']['montant'] == 0) { $lVr->setOperationAchat(OperationDetailValid::validDelete($pData['operationAchat'])); } else { $lVr->setOperationAchat(OperationDetailValid::validAjout($pData['operationAchat'], array("negatif" => true))); if (!$lVr->getOperationAchat()->getValid()) { $lVr->setValid(false); } else { if (isset($pData['operationAchat']['champComplementaire'][1]['valeur'])) { $lIdCompte = $pData['operationAchat']['idCompte']; // Le marche doit être ouvert $lOpeAchatChampComp = $lVr->getOperationAchat()->getChampComplementaire(); $lInfoMarche = $lOpeAchatChampComp[1]->getData(); if ($lInfoMarche['marche']->getArchive() != 0) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_239_CODE); $lErreur->setMessage(MessagesErreurs::ERR_239_MSG); $lVr->getLog()->addErreur($lErreur); } } } } } if (!is_null($pData['operationAchatSolidaire']) && !empty($pData['operationAchatSolidaire'])) { if ($pData['operationAchatSolidaire']['montant'] == 0) { $lVr->setOperationAchat(OperationDetailValid::validDelete($pData['operationAchatSolidaire'])); } else { $lVr->setOperationAchatSolidaire(OperationDetailValid::validAjout($pData['operationAchatSolidaire'], array("negatif" => true))); if (!$lVr->getOperationAchatSolidaire()->getValid()) { $lVr->setValid(false); } else { if (isset($pData['operationAchatSolidaire']['champComplementaire'][1]['valeur'])) { $lIdCompte = $pData['operationAchatSolidaire']['idCompte']; // Le marche doit être ouvert $lOpeAchatChampComp = $lVr->getOperationAchatSolidaire()->getChampComplementaire(); $lInfoMarche = $lOpeAchatChampComp[1]->getData(); if ($lInfoMarche['marche']->getArchive() != 0) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_239_CODE); $lErreur->setMessage(MessagesErreurs::ERR_239_MSG); $lVr->getLog()->addErreur($lErreur); } } } } } $lTotal = 0; $lTotalSolidaire = 0; if (!is_array($pData['produits'])) { $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); } else { foreach ($pData['produits'] as $lIndice => $lProduit) { if (!is_null($pData['produits'][$lIndice])) { $lVrDetail = ProduitDetailAchatValid::validAjout($lProduit); if (!$lVrDetail->getValid()) { $lVr->setValid(false); } else { if (is_float((double) $lProduit['montant']) && !empty($lProduit['montant'])) { $lTotal += $lProduit['montant']; } if (is_float((double) $lProduit['montantSolidaire']) && !empty($lProduit['montantSolidaire'])) { $lTotalSolidaire += $lProduit['montantSolidaire']; } } $lVr->addProduits($lVrDetail); } } } // L'opération doit exister si il y a un total (Normal ou Solidaire) if ($lTotal != 0 && (is_null($pData['operationAchat']) || empty($pData['operationAchat']) || bccomp($lTotal, (double) $pData['operationAchat']["montant"]) != 0) || $lTotalSolidaire != 0 && (is_null($pData['operationAchatSolidaire']) || empty($pData['operationAchatSolidaire']) || bccomp($lTotalSolidaire, (double) $pData['operationAchatSolidaire']["montant"]) != 0)) { $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_266_CODE); $lErreur->setMessage(MessagesErreurs::ERR_266_MSG); $lVr->getLog()->addErreur($lErreur); } $lRechargement = 0; if (!empty($pData['rechargement']['montant']) && $pData['rechargement']['montant'] != 0) { $lVr->setRechargement(OperationDetailValid::validAjout($pData['rechargement'])); if (!$lVr->getRechargement()->getValid()) { $lVr->setValid(false); } else { $lRechargement = $pData['rechargement']['montant']; } } else { if ($lIdCompte != -3 && $lTotal + $lTotalSolidaire == 0) { // Si compte adherent et pas de rechargement il faut un produit $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 ($lIdCompte == -3) { if ($lTotal + $lTotalSolidaire == 0) { // Si compte invité il faut un produit $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 (bcadd(bcadd($lTotal, $lTotalSolidaire, 2), $lRechargement, 2) != 0) { // Compte invite reste à 0 $lVr->setValid(false); $lVr->getLog()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_244_CODE); $lErreur->setMessage(MessagesErreurs::ERR_244_MSG); $lVr->getLog()->addErreur($lErreur); } } } return $lVr; }
/** * @name validUpdate($pData) * @return AdhesionAdherentDetailVR * @desc Test la validite de l'élément */ public static function validUpdate($pData) { $lVr = new AdhesionAdherentDetailVR(); //Tests inputs if (!isset($pData['adhesionAdherent'])) { $lVr->setValid(false); $lVr->getAdhesionAdherent()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getAdhesionAdherent()->addErreur($lErreur); } if (!isset($pData['operation'])) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperation()->addErreur($lErreur); } if ($lVr->getValid()) { //Tests Fonctionnels if (empty($pData['adhesionAdherent'])) { $lVr->setValid(false); $lVr->getAdhesionAdherent()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getAdhesionAdherent()->addErreur($lErreur); } else { $lAdhesionAdherent = AdhesionAdherentValid::validUpdate($pData['adhesionAdherent']); $lVr->setAdhesionAdherent($lAdhesionAdherent); $lVr->setValid($lAdhesionAdherent->getValid()); } if (empty($pData['operation'])) { $lVr->setValid(false); $lVr->getOperation()->setValid(false); $lErreur = new VRerreur(); $lErreur->setCode(MessagesErreurs::ERR_201_CODE); $lErreur->setMessage(MessagesErreurs::ERR_201_MSG); $lVr->getOperation()->addErreur($lErreur); } else { $lOperation = OperationDetailValid::validUpdate($pData['operation']); $lVr->setOperation($lOperation); $lVr->setValid($lAdhesionAdherent->getValid()); } } return $lVr; }