/**
  * Método para gravação de todos os dados do dirigente
  * @access public
  * @param void
  * @return void
  */
 public function gravardirigentecompletoAction()
 {
     // caso o formulário seja enviado via post
     if ($this->getRequest()->isPost()) {
         // recebe os dados via post
         $post = Zend_Registry::get('post');
         $idAgente = $post->idAgente;
         // id do dirigente
         $idAgenteGeral = $post->idAgenteGeral;
         // usuário associado ao dirigente
         $cpf = Mascara::delMaskCPF(Mascara::delMaskCNPJ($post->cpf));
         // retira as máscaras
         $TipoNome = 18;
         // pessoa física
         $Usuario = $this->getIdUsuario;
         // id do usuário logado
         // ========== INÍCIO SALVAR NOME ==========
         $nome = $post->nome;
         try {
             // busca o nome do agente
             $busca = NomesDAO::buscarNome($idAgente);
             if (!$busca) {
                 $i = NomesDAO::gravarNome($idAgente, $TipoNome, $nome, 0, $Usuario);
             } else {
                 $i = NomesDAO::atualizaNome($idAgente, $TipoNome, $nome, 0, $Usuario);
             }
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o nome: " . $e->getMessage();
         }
         // ========== FIM SALVAR NOME ==========
         // ========== INÍCIO SALVAR ENDEREÇO ==========
         $TipoEndereco = $post->tipoEndereco;
         $TipoLogradouro = $post->tipoLogradouro;
         $Logradouro = $post->logradouro;
         $Numero = $post->numero;
         $Bairro = $post->bairro;
         $Complemento = $post->complemento;
         $Cidade = $post->cidade;
         $UF = $post->uf;
         $Cep = Mascara::delMaskCEP($post->cep);
         $Divulgar = $post->divulgarEndereco;
         $Status = $post->enderecoCorrespondencia;
         $GravarEnderecoNacional = array('idAgente' => $idAgente, 'TipoEndereco' => $TipoEndereco, 'TipoLogradouro' => $TipoLogradouro, 'Logradouro' => $Logradouro, 'Numero' => $Numero, 'Bairro' => $Bairro, 'Complemento' => $Complemento, 'Cidade' => $Cidade, 'UF' => $UF, 'Cep' => $Cep, 'Status' => $Status, 'Divulgar' => $Divulgar, 'Usuario' => $Usuario);
         $AtualizarEnderecoNacional = array('TipoEndereco' => $TipoEndereco, 'TipoLogradouro' => $TipoLogradouro, 'Logradouro' => $Logradouro, 'Numero' => $Numero, 'Bairro' => $Bairro, 'Complemento' => $Complemento, 'Cidade' => $Cidade, 'UF' => $UF, 'Cep' => $Cep, 'Status' => $Status, 'Divulgar' => $Divulgar, 'Usuario' => $Usuario);
         try {
             // busca o endereço do agente
             $busca = EnderecoNacionalDAO::buscarEnderecoNacional($idAgente);
             if (!$busca) {
                 $i = EnderecoNacionalDAO::gravarEnderecoNacional($GravarEnderecoNacional);
             } else {
                 $i = EnderecoNacionalDAO::atualizaEnderecoNacional($idAgente, $AtualizarEnderecoNacional);
             }
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o endereço: " . $e->getMessage();
         }
         // ========== FIM SALVAR ENDEREÇO ==========
         // ========== INÍCIO SALVAR VISÃO ==========
         $Visao = $post->visao;
         $GravarVisao = array('idAgente' => $idAgente, 'Visao' => $Visao, 'Usuario' => $Usuario, 'stAtivo' => 'A');
         try {
             // busca as visões do agente
             $busca = VisaoDAO::buscarVisao($idAgente, $Visao);
             if (!$busca) {
                 $i = VisaoDAO::cadastrarVisao($GravarVisao);
             }
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar a visão: " . $e->getMessage();
         }
         // ========== FIM SALVAR VISÃO ==========
         // ========== INÍCIO TELEFONES ==========
         // array com os telefones
         $tipoFones = $post->tipoFones;
         $ufFones = $post->ufFones;
         $dddFones = $post->dddFones;
         $Fones = $post->Fones;
         $divulgarFones = $post->divulgarFones;
         try {
             // exclui todos os telefones
             $delete = Telefone::excluirTodos($idAgente);
             // cadastra todos os telefones
             for ($i = 0; $i < sizeof($Fones); $i++) {
                 $arrayTelefones = array('idAgente' => $idAgente, 'TipoTelefone' => $tipoFones[$i], 'UF' => $ufFones[$i], 'DDD' => $dddFones[$i], 'Numero' => $Fones[$i], 'Divulgar' => $divulgarFones[$i], 'Usuario' => $Usuario);
                 $insere = Telefone::cadastrar($arrayTelefones);
             }
             // fecha for
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o componente: " . $e->getMessage();
         }
         // ========== FIM TELEFONES ==========
         // ========== INÍCIO E-MAILS ==========
         // array com os e-mails
         $tipoEmails = $post->tipoEmails;
         $Emails = $post->Emails;
         $divulgarEmails = $post->divulgarEmails;
         $enviarEmails = $post->enviarEmails;
         try {
             // exclui todos os e-mails
             $delete = Email::excluirTodos($idAgente);
             // cadastra todos os e-mails
             for ($i = 0; $i < sizeof($Emails); $i++) {
                 $arrayEmail = array('idAgente' => $idAgente, 'TipoInternet' => $tipoEmails[$i], 'Descricao' => $Emails[$i], 'Status' => $enviarEmails[$i], 'Divulgar' => $divulgarEmails[$i], 'Usuario' => $Usuario);
                 $insere = Email::cadastrar($arrayEmail);
             }
             // fecha for
         } catch (Exception $e) {
             $this->view->message = "Erro ao salvar o componente: " . $e->getMessage();
         }
         // ========== FIM E-MAILS ==========
         // ========== INÍCIO DIRIGENTES ==========
         // busca os dados do associado ao dirigente (idVinculoPrincipal)
         //$buscarAgente = ManterAgentesDAO::buscarAgentes(null, null, $idAgenteGeral);
         // busca o dirigente vinculado ao cnpj/cpf
         //$dadosDirigente = ManterAgentesDAO::buscarVinculados($buscarAgente[0]->CNPJCPF, null, $idAgente, $idAgenteGeral, $idAgenteGeral);
         $dadosDirigente = ManterAgentesDAO::buscarVinculados(null, null, $idAgente, $idAgenteGeral, $idAgenteGeral);
         // caso o agente não esteja vinculado, realizará a vinculação
         if (!$dadosDirigente) {
             // associa o dirigente ao cnpj/cpf
             $dadosVinculacao = array('idAgente' => $idAgente, 'idVinculado' => $idAgenteGeral, 'idVinculoPrincipal' => $idAgenteGeral, 'Usuario' => $Usuario);
             $vincular = ManterAgentesDAO::cadastrarVinculados($dadosVinculacao);
         }
         // ========== FIM DIRIGENTES ==========
     }
     // fecha if ($this->getRequest()->isPost())
     parent::message("Cadastro realizado com sucesso!", "manteragentes/dirigentes?acao=cc&idAgenteGeral=" . $idAgenteGeral, "CONFIRM");
 }