public function updateCost(EPnr $entity, EntityManager $em) { if ($entity->getCost() != $this->container->get('pnr_service')->getPnrCost($entity)) { $entity->setCost($this->container->get('pnr_service')->getTtcPrice($this->container->get('pnr_service')->getPnrCost($entity))); $em->persist($entity); $em->flush(); } }
/** * getModificationAmount * @param float $price * @return number */ public function getModificationAmount(EPnr $pnr) { $res = 0; $price = (double) $pnr->getCost(); $penalities = $this->em->getRepository('AppCoreBundle:Penality')->findBy(array('code' => 'frais-de-modification')); foreach ($penalities as $penality) { if ($penality->getPercentPrice()) { $res += $price * $penality->getPercentPrice() / 100; } if ($penality->getStaticPrice()) { $res += $penality->getStaticPrice(); } } return $res; }