/**
  * @param \Concepto\Sises\ApplicationBundle\Entity\Contrato $object
  * @param array                                             $bag
  *
  * @return array
  */
 protected function preFlush($object, $bag = array())
 {
     $servicios = $bag['servicios'];
     /**
      * @var OrmPersistible $servicio
      * @var OrmPersistible $oServicio
      */
     foreach ($object->getServicios() as $servicio) {
         foreach ($servicios as $oKey => $oServicio) {
             if ($oServicio->getId() === $servicio->getId()) {
                 unset($servicios[$oKey]);
             }
         }
     }
     foreach ($servicios as $toDel) {
         $object->removeServicio($toDel);
         $this->getEm()->remove($toDel);
     }
     return parent::preFlush($object, $bag);
 }
 /**
  * @return string
  * @VirtualProperty()
  * @SerializedName("contrato")
  * @Groups({"details"})
  */
 public function getContratoId()
 {
     return $this->contrato->getId();
 }
 /**
  * @VirtualProperty()
  * @SerializedName("contrato")
  * @Groups({"details"})
  */
 public function getRelatedId()
 {
     /** @var OrmPersistible  */
     if ($this->contrato) {
         return $this->contrato->getId();
     }
     return null;
 }
Example #4
0
 /**
  * Load data fixtures with the passed EntityManager
  *
  * @param ObjectManager $manager
  */
 function load(ObjectManager $manager)
 {
     $empresas = $manager->getRepository('SisesApplicationBundle:Empresa')->findAll();
     $empresa = $empresas[0];
     $contratante = $empresas[1];
     $contrato = new Contrato();
     $contrato->setEmpresa($empresa);
     $contrato->setContratante($contratante);
     $contrato->setNombre("Contrato de alimentos de {$empresa->getNombre()}");
     $contrato->setDescripcion($contrato->getNombre());
     $contrato->setResolucion("Resolucion 00" . uniqid() . " de 2014");
     $contrato->setFechaInicio(new \DateTime());
     $contrato->setFechaCierre((new \DateTime())->add(new \DateInterval('P70D')));
     $contrato->setValor(1500000);
     $manager->persist($contrato);
     $servicio = new ServicioContratado();
     $servicio->setNombre("Almuerzos");
     $servicio->setDiasContratados(100);
     $servicio->setUnidadesDiarias(1500);
     $servicio->setValorUnitario(2560);
     $servicio->setCostoUnitario(1850);
     $contrato->addServicio($servicio);
     $servicio2 = new ServicioContratado();
     $servicio2->setNombre("Desayunos");
     $servicio2->setDiasContratados(100);
     $servicio2->setUnidadesDiarias(1500);
     $servicio2->setValorUnitario(2560);
     $servicio2->setCostoUnitario(1850);
     $contrato->addServicio($servicio2);
     // Crea el coordinador
     $persona = new Persona();
     $persona->setNombre("Juancho");
     $persona->setApellidos("Pedrozo");
     $persona->setDocumento(uniqid());
     $manager->persist($persona);
     $coordinador = new Coordinador();
     $coordinador->setPersona($persona);
     $coordinador->setContrato($contrato);
     $manager->persist($coordinador);
     // Crea el director
     $director = new Director();
     $director->setPersona($persona);
     $director->addEmpresa($contrato->getEmpresa());
     $manager->persist($director);
     $manager->flush();
 }