Ejemplo n.º 1
0
 /**
  * Crear (en cero) un estado para cada uno de los requisitos asociados a este trámite.
  *
  * @param \Yacare\TramitesBundle\Entity\Tramite             $entity
  * @param \Yacare\TramitesBundle\Entity\EstadoRequisito     $EstadoRequisitoPadre
  * @param \Yacare\TramitesBundle\Entity\AsociacionRequisito $Asociaciones
  */
 protected function AsociarEstadosRequisitos($entity, $EstadoRequisitoPadre, $Asociaciones)
 {
     foreach ($Asociaciones as $AsociacionRequisito) {
         // Primero busco para ver si ya existe
         $EstadoRequisito = null;
         if ($entity->getEstadosRequisitos()) {
             foreach ($entity->getEstadosRequisitos() as $EstReq) {
                 if ($EstReq->getAsociacionRequisito() === $AsociacionRequisito) {
                     // Ya existe, por lo tanto no lo agrego
                     $EstadoRequisito = $EstReq;
                     break;
                 }
             }
         }
         if ($EstadoRequisito == null) {
             // No existe, así que la creo
             $EstadoRequisito = new \Yacare\TramitesBundle\Entity\EstadoRequisito();
             $EstadoRequisito->setTramite($entity);
         }
         $EstadoRequisito->setAsociacionRequisito($AsociacionRequisito);
         $EstadoRequisito->setEstadoRequisitoPadre($EstadoRequisitoPadre);
         if (!$EstadoRequisito->getId()) {
             $entity->AgregarEstadoRequisito($EstadoRequisito);
         }
         if ($AsociacionRequisito->getRequisito()->getTipo() == 'tra') {
             // Es un trámite... asocio los sub-requisitos
             $SubTramiteTipo = $AsociacionRequisito->getRequisito()->getTramiteTipoEspejo();
             if ($SubTramiteTipo) {
                 $this->AsociarEstadosRequisitos($entity, $EstadoRequisito, $SubTramiteTipo->getAsociacionRequisitos());
             }
         }
     }
 }
Ejemplo n.º 2
0
 /**
  * Crear (en cero) un estado para cada uno de los requisitos asociados a este trámite.
  *
  * @param \Yacare\TramitesBundle\Entity\Tramite             $entity
  * @param \Yacare\TramitesBundle\Entity\EstadoRequisito     $EstadoRequisitoPadre
  * @param \Yacare\TramitesBundle\Entity\AsociacionRequisito $Asociaciones
  */
 protected function AsociarEstadosRequisitos($entity, $EstadoRequisitoPadre, $Asociaciones)
 {
     foreach ($Asociaciones as $AsociacionRequisito) {
         // Primero busco para ver si ya existe
         $EstadoRequisito = null;
         if ($entity->getEstadosRequisitos()) {
             foreach ($entity->getEstadosRequisitos() as $EstReq) {
                 if ($EstReq->getAsociacionRequisito() === $AsociacionRequisito) {
                     // Ya existe, por lo tanto no lo agrego
                     $EstadoRequisito = $EstReq;
                     break;
                 }
             }
         }
         if ($EstadoRequisito == null) {
             // No existe, así que la creo
             $EstadoRequisito = new \Yacare\TramitesBundle\Entity\EstadoRequisito();
             $EstadoRequisito->setTramite($entity);
             if ($AsociacionRequisito->getRequisito()->getTipo() == 'tra') {
                 // El requisito es un subtrámite... tengo que iniciarlo
                 $SubTramiteTipo = $AsociacionRequisito->getRequisito()->getTramiteTipoEspejo();
                 if ($SubTramiteTipo && $SubTramiteTipo->getClase() && $SubTramiteTipo->getClase() != '\\Yacare\\TramitesBundle\\Entity\\TramiteSimple') {
                     $ClaseSubTramite = $SubTramiteTipo->getClase();
                     $NuevoSubTram = new $ClaseSubTramite();
                     $NuevoSubTram->setTramitePadre($entity);
                     $NuevoSubTram->setTitular($entity->getTitular());
                     //Le aviso al EstadoRequisito quién es su subtrámite asociado
                     $EstadoRequisito->setSubtramite($NuevoSubTram);
                     $this->em->persist($NuevoSubTram);
                     $this->AgregarEntidadAlConjuntoDeCambios($NuevoSubTram);
                 }
             }
         }
         $EstadoRequisito->setAsociacionRequisito($AsociacionRequisito);
         $EstadoRequisito->setEstadoRequisitoPadre($EstadoRequisitoPadre);
         if (!$EstadoRequisito->getId()) {
             $entity->AgregarEstadoRequisito($EstadoRequisito);
         }
     }
 }