Exemplo n.º 1
0
 public function create(Societe $societe, $mouvements, $dateFacturation)
 {
     $facture = new Facture();
     $facture->setSociete($societe);
     $facture->setDateFacturation($dateFacturation);
     $facture->setDateEmission(new \DateTime());
     $facture->getEmetteur()->setNom($this->parameters['emetteur']['nom']);
     $facture->getEmetteur()->setAdresse($this->parameters['emetteur']['adresse']);
     $facture->getEmetteur()->setCodePostal($this->parameters['emetteur']['code_postal']);
     $facture->getEmetteur()->setCommune($this->parameters['emetteur']['commune']);
     $facture->getEmetteur()->setTelephone($this->parameters['emetteur']['telephone']);
     $facture->getEmetteur()->setFax($this->parameters['emetteur']['fax']);
     $facture->getEmetteur()->setEmail($this->parameters['emetteur']['email']);
     foreach ($mouvements as $mouvement) {
         if (!$mouvement->isFacturable() || $mouvement->isFacture()) {
             continue;
         }
         $ligne = new FactureLigne();
         $ligne->pullFromMouvement($mouvement);
         $facture->addLigne($ligne);
     }
     $facture->update();
     $facture->facturerMouvements();
     return $facture;
 }