Commit c3cf6ba9 by Damien Moulard

prevent balance < 0 after withdrawal

parent 8cc0d3ab
......@@ -24,7 +24,7 @@ namespace App\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* Retrait => (Retrait de monnaie papier en échange de monnaie numérique)
* Retrait => (Retrait de monnaie papier en échange de monnaie numérique).
*
* Types de retraits :
*
......@@ -52,8 +52,11 @@ abstract class Retrait extends Flux
public function operate($em)
{
$compteExp = $this->getExpediteur()->getCompte() - $this->getMontant();
$compteDest = $this->getDestinataire()->getEcompte() - $this->getMontant();
if ($compteExp < 0) {
throw new \Exception("[FLUX] Retrait impossible ! Montant supérieur au solde du comptoir !");
throw new \Exception('[FLUX] Retrait impossible ! Montant supérieur au solde du comptoir !');
} elseif ($compteDest < 0) {
throw new \Exception('[FLUX] Retrait impossible ! Montant supérieur au solde du demandeur !');
} else {
$this->getExpediteur()->removeCompte($this->getMontant());
$this->getExpediteur()->getGroupe()->getSiege()->addCompteNantie($this->getMontant());
......@@ -61,6 +64,7 @@ abstract class Retrait extends Flux
return [$this->getExpediteur(), $this->getDestinataire(), $this->getExpediteur()->getGroupe()->getSiege()];
}
return [];
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment