public function ucEntity(Request $request, PnfTrayectoPeriodo $entity)
 {
     if (is_array($request->request->get('uc'))) {
         $uc = $request->request->get('uc');
         $em = $this->getDoctrine()->getManager();
         $entityPnfTrayectoPeriodoUc = $em->getRepository('AppBundle:PnfTrayectoPeriodoUc')->findBy(array('pnfTrayPeri' => $entity->getId()));
         $pnfTrayectoPeriodoIds = array();
         foreach ($entityPnfTrayectoPeriodoUc as $key => $enti) {
             $ucId = $enti->getUc()->getUcId();
             if (in_array($ucId, $uc)) {
                 if (($key = array_search($ucId, $uc)) !== false) {
                     unset($uc[$key]);
                 }
             } else {
                 $pnfTrayectoPeriodoIds[] = $enti;
             }
         }
         //delete entity
         foreach ($pnfTrayectoPeriodoIds as $key => $value) {
             $em->remove($value);
         }
         if ($pnfTrayectoPeriodoIds) {
             $em->flush();
         }
         //add entity
         foreach ($uc as $key => $value) {
             $entityUnidadCurricular = $em->getRepository('AppBundle:UnidadCurricular')->find($value);
             if ($entityUnidadCurricular) {
                 $entityPnfTrayectoPeriodoUc = new PnfTrayectoPeriodoUc();
                 $entityPnfTrayectoPeriodoUc->setUc($entityUnidadCurricular);
                 $entity->addUc($entityPnfTrayectoPeriodoUc);
             }
         }
     }
 }
Esempio n. 2
0
 public function loadPnfTrayectoPeriodo(ObjectManager $manager)
 {
     $pnfTrayectoPeriodo = array(array(1, 1, 1, 1), array(2, 1, 1, 2), array(3, 1, 1, 3), array(4, 1, 2, 1), array(5, 1, 2, 2), array(6, 1, 2, 3), array(7, 2, 1, 1), array(8, 2, 1, 2), array(9, 2, 1, 3), array(10, 2, 2, 1), array(11, 2, 2, 2), array(12, 2, 2, 3), array(13, 3, 1, 1), array(14, 3, 1, 2), array(15, 3, 1, 3), array(16, 3, 2, 1), array(17, 3, 2, 2), array(18, 3, 2, 3), array(19, 3, 3, 1), array(20, 3, 3, 2), array(21, 3, 3, 3), array(22, 4, 1, 1), array(23, 4, 1, 2), array(24, 4, 1, 3), array(25, 4, 2, 1), array(26, 4, 2, 2), array(27, 4, 2, 3), array(28, 4, 3, 1), array(29, 4, 3, 2), array(30, 4, 3, 3));
     $em = $this->container->get('doctrine')->getEntityManager('default');
     foreach ($pnfTrayectoPeriodo as $data) {
         $entityPnfTrayectoPeriodo = new PnfTrayectoPeriodo();
         //$entityPnfTrayectoPeriodo->setTrayId($data[0]);
         $entityPnf = $em->getRepository('AppBundle:Pnf')->find($data[1]);
         $entityPnfTrayectoPeriodo->setPnf($entityPnf);
         $entityTrayecto = $em->getRepository('AppBundle:Trayecto')->find($data[2]);
         $entityPnfTrayectoPeriodo->setTray($entityTrayecto);
         $entityPeriodo = $em->getRepository('AppBundle:Periodo')->find($data[3]);
         $entityPnfTrayectoPeriodo->setPeri($entityPeriodo);
         $manager->persist($entityPnfTrayectoPeriodo);
     }
     $manager->flush();
 }