Ejemplo n.º 1
0
        private async void ConsultaCNPJ()
        {
            // VERIFICO AQUI OS CAMPOS PARA NAO RECARREGAR O CAPCHA NOVAMENTE
            // A VALIDACAO É FEITA TAMBEM DENTRO DE ConsultaCNPJReceita.Consulta(); PARA CASO O USUARIO NAO IMPLENTE ISSO NO FORMULARIO
            if (ConsultaCNPJReceita.ValidaCampos(txtCNPJ.Text, txtLetras.Text) == false)
            {
                MessageBox.Show(ConsultaCNPJReceita.Mensagem);
                return;
            }


            await Task.Run(() =>                 // EXECUTA O MÉTODO EM UMA NOVA TASK, NAO TRAVANDO A TELA QUANDO O SERVIÇO NAO ESTA DISPONIVEL OU ESTA MUITO LENTO
            {
                BloqueiaBotaoConsultaCNPJ(true); //BLOQUEIA O BOTAO E EXIBE MENSAGEM CARREGANDO NO BOTAO

                if (ConsultaCNPJReceita.Consulta(txtCNPJ.Text, txtLetras.Text))
                {
                    CarregaDadosNoFormulario();
                }
                else
                {
                    MessageBox.Show(ConsultaCNPJReceita.Mensagem);
                }

                BloqueiaBotaoConsultaCNPJ(false); // RETORNA O BOTAO AO NORMAL
                CarregaCaptcha();                 // APÓS UMA CONSULTA, RECARREGA CAPTCHA NOVAMENTE.
            });
        }
Ejemplo n.º 2
0
        private async void CarregaCaptcha() // METODO ASYNC (ASSINCRONO) // PARA NAO TRAVAR O FORM QUANDO DEMORAR
        {
            LimpaCamposCaptcha();

            // EM MEUS TESTES, APÓS ALGUMAS CONSULTAS A RECEITA BLOQUEOU O IP, MESMO ACESSANDO PELO SITE DA RECEITA. NAO FUNCIONOU ATÉ REINICIAR A INTERNET.
            // DESSA FORMA CONSEGUI IMPLEMENTAR ROTINAS DE QUANDO O SERVIÇO FICA LENTO OU É BLOQUEADO

            // PARA BLOQUEAR O SEU IP NA RECEITA, BASTA CLICAR DIVERSAS VEZES NO BOTAO TROCAR IMAGEM. A CONSULTA VAI DEMORAR PARA DAR RETORNO DE ERRO DEVIDO AO BLOQUEIO.
            // PORÉM, CONFORME O MODO ASSINCRONO IMPLEMENTADO ABAIXO, O SISTEMA NÃO FICARÁ TRAVADO ENQUANTO A CONSULTA NAO RETORNA NADA.

            await Task.Run(() =>                // EXECUTA O MÉTODO EM UMA NOVA TASK, NAO TRAVANDO A TELA AO INICIAR QUANDO O SERVIÇO NAO ESTA DISPONIVEL OU ESTA MUITO LENTO
            {
                BloqueiaBotaoTrocaImagem(true); // BLOQUEIA O BOTAO E EXIBE MENSAGEM CARREGANDO NO BOTAO

                // SIMPLESMENTE CARREGA A IMAGEM NO PICTUREBOX INFORMADO
                if (ConsultaCNPJReceita.GetCaptcha(picLetras) == false)
                {
                    MessageBox.Show(ConsultaCNPJReceita.Mensagem); // MENSAGEM SE TIVER ERRO
                }

                BloqueiaBotaoTrocaImagem(false); // RETORNA O BOTAO AO ESTADO ORIGINAL
            });
        }