/**
  *  Método responsável por inserir falhas na instalação do Agente CACIC
  *  @param Symfony\Component\HttpFoundation\Request $request
  */
 public function installAction(Request $request)
 {
     if ($request->isMethod('POST')) {
         $data = new \DateTime('NOW');
         $strNetworkAdapterConfiguration = OldCacicHelper::deCrypt($request, $request->get('NetworkAdapterConfiguration'));
         $ip_computador = $request->get('te_ip_computador');
         if (empty($ip_computador)) {
             $ip_computador = TagValueHelper::getValueFromTags('IPAddress', $strNetworkAdapterConfiguration);
         }
         if (empty($ip_computador) or $ip_computador == '127.0.0.1') {
             $ip_computador = $request->getClientIp();
         }
         $insucesso = new InsucessoInstalacao();
         $insucesso->setTeIpComputador($ip_computador);
         $insucesso->setTeSo($request->get('te_so'));
         $insucesso->setIdUsuario($request->get('id_usuario'));
         $insucesso->setCsIndicador($request->get('cs_indicador'));
         $insucesso->setDtDatahora($data);
         $this->getDoctrine()->getManager()->persist($insucesso);
         $this->getDoctrine()->getManager()->flush();
         $response = new Response();
         $response->headers->set('Content-Type', 'xml');
         return $this->render('CacicWSBundle:Default:instala.xml.twig', array(), $response);
     }
 }
 /**
  * Registro de erros de instalação
  *
  * @param Request $request
  * @return JsonResponse
  */
 public function erroAction(Request $request)
 {
     $logger = $this->get('logger');
     $status = $request->getContent();
     $em = $this->getDoctrine()->getManager();
     $dados = json_decode($status, true);
     if (empty($dados)) {
         $logger->error("JSON INVÁLIDO!!!!!!!!!!!!!!!!!!! Erro no getConfig");
         // Retorna erro se o JSON for inválido
         $error_msg = '{
             "message": "JSON Inválido",
             "codigo": 1
         }';
         $response = new JsonResponse();
         $response->setStatusCode('500');
         $response->setContent($error_msg);
         return $response;
     }
     $ip_computador = $request->getClientIp();
     $insucesso = new InsucessoInstalacao();
     $insucesso->setDtDatahora(new \DateTime());
     $insucesso->setTeIpComputador($ip_computador);
     $insucesso->setCsIndicador($dados['codigo']);
     $insucesso->setMensagem($dados['message']);
     if (array_key_exists('user', $dados)) {
         $insucesso->setIdUsuario($dados['user']);
     }
     if (array_key_exists('so', $dados)) {
         $insucesso->setTeSo($dados['so']);
     }
     $em->persist($insucesso);
     $em->flush();
     $response = new JsonResponse();
     $response->setStatusCode('200');
     return $response;
 }