/** * 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())); }
/** * 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(); } }