Ejemplo n.º 1
0
 /**
  * Creates a new LigneDQE entity.
  *
  */
 public function createAction(Request $request, $daoId, $consistanceId)
 {
     $form = $this->createCreateForm($daoId, $consistanceId);
     $form->handleRequest($request);
     if ($form->isValid()) {
         $em = $this->getDoctrine()->getManager();
         $data = $form->getData();
         $affectationPrix = new AffectationPrix();
         $ligne = new LigneDQE();
         $marche = $em->getRepository("LaisoArmBundle:Marche")->findOneBy(array("lotissement" => $daoId));
         $avenants = $em->getRepository("LaisoArmBundle:Avenant")->findBy(array('marche' => $marche->getId()));
         $affectationPrix->setSerie($data['prix']);
         $affectationPrix->setConsistance($em->getRepository("LaisoArmBundle:Consistance")->find($consistanceId));
         $ligne->setQuantite($data['quantite']);
         $ligne->setPrix($affectationPrix);
         $ligne->setAvenant($avenants[0]);
         $em->persist($affectationPrix);
         $em->persist($ligne);
         $em->flush();
         if (null != $request->query->get('returnUrl')) {
             return $this->redirect($request->query->get('returnUrl'));
         }
         if ($request->isXmlHttpRequest()) {
             return $this->redirect($this->generateUrl('dao_show', array('id' => $daoId, 'action' => 'dqe')));
         }
         return $this->redirect($this->generateUrl('dao_show', array('id' => $daoId)));
     }
     return $this->render('LaisoArmBundle:LigneDQE:new.html.twig', array('form' => $form->createView()));
 }
Ejemplo n.º 2
0
 /**
  * Réécrire les lignes DQE
  *
  * @param Avenant $avenant
  *
  */
 private function defineDqe(Avenant $avenant)
 {
     $em = $this->getDoctrine()->getManager();
     $avenantPrecedent = $em->getRepository("LaisoArmBundle:Avenant")->findOneBy(array('marche' => $avenant->getMarche(), 'libelle' => $em->getRepository("LaisoArmBundle:LibelleAvenant")->findOneBy(array('numero' => $avenant->getLibelle()->getNumero() - 1))->getId()));
     foreach ($avenantPrecedent->getLignes() as $ligne) {
         $ligneDqe = new LigneDQE();
         $ligneDqe->setQuantite($ligne->getQuantite());
         $ligneDqe->setPrix($ligne->getprix());
         $ligneDqe->setAvenant($avenant);
         $em->persist($ligneDqe);
         $em->flush();
     }
 }