예제 #1
0
        public TefLinhaLista AguardaRespostaRequisicao()
        {
            var tempoInicioEspera = DateTime.Now;

            bool interromper;
            bool existeArquivoResposta;

            do
            {
                Thread.Sleep(EsperaSleep);

                var aguardandoResposta = new AguardaRespostaEventArgs(ArquivoResposta, tempoInicioEspera);
                OnAguardandoResposta(aguardandoResposta);

                interromper           = aguardandoResposta.Interromper;
                existeArquivoResposta = Arquivo.Existe(ArquivoResposta);
            } while (!existeArquivoResposta && !interromper);


            var tefLinhas = TefLinhaLista.LoadArquivo(ArquivoResposta);

            EfetuarBackup(tefLinhas);
            Arquivo.Deletar(ArquivoResposta);

            return(tefLinhas);
        }
예제 #2
0
        private void CriaRequisicao(TefLinhaLista requisicao)
        {
            Arquivo.Deletar(ArquivoTemporario);
            Arquivo.Deletar(ArquivoRequisicao);
            Arquivo.Deletar(ArquivoResposta);
            Arquivo.Deletar(ArquivoSts);

            Arquivo.EscrevaTodasLinhas(ArquivoTemporario, requisicao.GetRequisicao());
        }
예제 #3
0
        public TefLinhaLista Enviar(TefLinhaLista requisicao)
        {
            CriaRequisicao(requisicao);

            EfetuaRequisicao();

            AguardarRequisicao();

            var tefListaDeLinha = TefLinhaLista.LoadArquivo(ArquivoSts);

            Arquivo.Deletar(ArquivoTemporario);
            Arquivo.Deletar(ArquivoSts);

            return(tefListaDeLinha);
        }
예제 #4
0
        public TefLinhaLista Enviar(TefLinhaLista requisicao, IRequisicaoAtv requisicaoAtv)
        {
            requisicaoAtv.VerificaSeTefEstaAtivo(requisicao);

            var antesRequisicao = new AntesRequisicaoEventArgs(requisicao);

            OnAntesRequisicao(antesRequisicao);
            requisicao = antesRequisicao.Requisicao;

            CriaRequisicao(requisicao);

            EfetuaRequisicao();

            AguardarRequisicao();

            var tefListaDeLinha = TefLinhaLista.LoadArquivo(ArquivoSts);

            Arquivo.Deletar(ArquivoTemporario);
            Arquivo.Deletar(ArquivoSts);

            return(tefListaDeLinha);
        }