/** * 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(); }
/** * @param \Concepto\Sises\ApplicationBundle\Entity\Personal\Director $object * @param array $bag * * @return array */ protected function preFlush($object, $bag = array()) { $servicios = $bag['empresas']; /** * @var OrmPersistible $servicio * @var OrmPersistible $oServicio */ foreach ($object->getEmpresas() as $servicio) { foreach ($servicios as $oKey => $oServicio) { if ($oServicio->getId() === $servicio->getId()) { unset($servicios[$oKey]); } } } foreach ($servicios as $toDel) { $object->removeEmpresa($toDel); } $empresas = array_map(function ($val) { return $val['id']; }, $bag['empresas_parameters']); $empresas = "A," . implode(';', $empresas); $empresas = $this->getEm()->getRepository('SisesApplicationBundle:Empresa')->findAll(array('id' => $empresas)); foreach ($empresas as $empresa) { $object->addEmpresa($empresa); } return parent::preFlush($object, $bag); }