/**
  * Verifica se o cadastro está apto a ser liberado/bloqueado
  * 
  * @param Contribuinte_Model_CadastroPessoa $oCadastroPessoa
  * @throws Exception
  * @return void
  */
 protected function validarLiberacaoUsuario(Contribuinte_Model_CadastroPessoa $oCadastroPessoa)
 {
     if ($oCadastroPessoa->getEntity()->getTipoLiberacao() != '') {
         $sTextoLiberacao = '';
         switch ($oCadastroPessoa->getEntity()->getTipoLiberacao()) {
             case Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO:
             case Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO_CGM:
                 $sTextoLiberacao = ' já consta como liberado. Procedimento cancelado';
                 break;
             case Contribuinte_Model_CadastroPessoa::TIPO_LIBERACAO_USUARIO_BLOQUEADO:
                 $sTextoLiberacao = ' já consta como bloqueado. Procedimento cancelado';
                 break;
         }
         $sErroMensagem = "Cadastro do Contribuinte {$oCadastroPessoa->getEntity()->getNome()} {$sTextoLiberacao}";
         throw new Exception($sErroMensagem);
     }
 }