public function pAgregarComentarioCuestionarioAction(Request $request)
 {
     if (strcmp(filter_input(INPUT_SERVER, 'HTTP_X_REQUESTED_WITH', FILTER_SANITIZE_STRING), 'XMLHttpRequest') == 0) {
         $user = $this->get('security.context')->getToken()->getUser();
         $em = $this->getDoctrine()->getManager();
         $idCuestionario = $request->request->get('idCuestionario');
         $cuestionario = $em->getRepository('UciBaseDatosBundle:Cuestionario')->find($idCuestionario);
         $usuario = $em->getRepository('UciBaseDatosBundle:Usuario')->find($user);
         $idUsuario = $usuario->getId();
         $comentarios = $request->request->get('comentarios');
         $em->getConnection()->beginTransaction();
         try {
             foreach ($comentarios as $comentario) {
                 $usuarioCorrige = new UsuarioCorrigePregunta();
                 $idPregunda = $comentario['id'];
                 $texto = $comentario['texto'];
                 $usuarioCorrigeExistente = $em->getRepository('UciBaseDatosBundle:UsuarioCorrigePregunta')->createQueryBuilder('u')->innerJoin('u.cuestionario', 'c')->innerJoin('u.usuario', 'p')->innerJoin('u.pregunta', 'r')->where('c.id = :idCuest')->andWhere('p.id = :idUser')->andWhere('r.id = :idPreg')->setParameter('idCuest', $idCuestionario)->setParameter('idUser', $idUsuario)->setParameter('idPreg', $idPregunda)->getQuery()->getResult();
                 if ($usuarioCorrigeExistente == null) {
                     $pregunta = $em->getRepository('UciBaseDatosBundle:Pregunta')->find($idPregunda);
                     $usuarioCorrige->setComentario($texto);
                     $usuarioCorrige->setCuestionario($cuestionario);
                     $usuarioCorrige->setPregunta($pregunta);
                     $usuarioCorrige->setUsuario($usuario);
                 } else {
                     $usuarioCorrige = $usuarioCorrigeExistente[0];
                     $usuarioCorrige->setComentario($texto);
                 }
                 $em->persist($usuarioCorrige);
                 $noBorrar[] = $usuarioCorrige->getId();
                 $em->clear($usuarioCorrige);
             }
             $correccionesBorrar = $em->getRepository('UciBaseDatosBundle:UsuarioCorrigePregunta')->createQueryBuilder('p')->where('p.id NOT IN (:miarray2)')->setParameter('miarray2', $noBorrar)->getQuery()->getResult();
             foreach ($correccionesBorrar as $correccion) {
                 $em->remove($correccion);
                 $em->clear($correccion);
             }
             $em->flush();
             $em->commit();
             return new JsonResponse(array('resultado' => 1));
         } catch (\Doctrine\ORM\ORMException $e) {
             $em->getConnection()->rollback();
             return new JsonResponse(array('resultado' => 0));
         } catch (\Exception $e) {
             $em->getConnection()->rollback();
             return new JsonResponse(array('resultado' => 0));
         }
         return new JsonResponse(array('resultado' => 0));
     }
 }
 public function aVerCuestionarioObservadoAction(Request $request, $id)
 {
     $em = $this->getDoctrine()->getManager();
     $cuestionario = $em->getRepository('UciBaseDatosBundle:Cuestionario')->createQueryBuilder('u')->innerJoin('u.curso', 'g')->andWhere('u.id = :id')->setParameter('id', $id)->getQuery()->getSingleResult();
     $preguntas = $cuestionario->getPregunta();
     $idCuestionario = $cuestionario->getId();
     foreach ($preguntas as $pregunta) {
         $usuarioCorrige = $em->getRepository('UciBaseDatosBundle:UsuarioCorrigePregunta')->createQueryBuilder('u')->innerJoin('u.cuestionario', 'c')->innerJoin('u.usuario', 'p')->innerJoin('u.pregunta', 'r')->where('c.id = :idCuest')->andWhere('r.id = :idPreg')->setParameter('idCuest', $idCuestionario)->setParameter('idPreg', $pregunta->getId())->getQuery()->getResult();
         if ($usuarioCorrige == null) {
             $usuarioCorrige = new UsuarioCorrigePregunta();
             $usuarioCorrige->setComentario('');
             $usuarioCorrige->setPregunta($pregunta);
         } else {
             $usuarioCorrige = $usuarioCorrige[0];
         }
         $preguntasComentario[] = $usuarioCorrige;
     }
     return $this->render('UciAdministradorBundle:VistaObservacion:verObservacion.html.twig', array('entity' => $cuestionario, 'preguntasComentario' => $preguntasComentario));
 }