예제 #1
0
 public function save(Operation $operation)
 {
     $operation->setCompte($this->_em->getRepository("MITFinanceBundle:Compte")->find($operation->getCompte()->getId()));
     $compte = $operation->getCompte();
     if ($operation->getType() == "debit") {
         if ($compte->getSolde() - $operation->getMontant() >= 0) {
             $compte->setSolde($compte->getSolde() - $operation->getMontant());
             $operation->setCompte($compte);
             $this->_em->persist($operation);
             $this->_em->getRepository("MITFinanceBundle:Compte")->_em->merge($compte);
             $this->_em->flush();
             return 1;
         }
         return -1;
     } else {
         $compte = $operation->getCompte();
         $compte->setSolde($compte->getSolde() + $operation->getMontant());
         $operation->setCompte($compte);
         $this->_em->persist($operation);
         $this->_em->getRepository("MITFinanceBundle:Compte")->_em->merge($compte);
         $this->_em->flush();
         return 2;
     }
 }