コード例 #1
0
ファイル: AcTefRequisicao.cs プロジェクト: rd2sistemas1/Tef
        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
        private void EfetuarBackup(TefLinhaLista tefLinhaLista)
        {
            if (!Directory.Exists(PastaBackup))
            {
                Directory.CreateDirectory(PastaBackup);
            }

            Arquivo.EfetuarBackupResposta(PastaBackup, tefLinhaLista);
        }
コード例 #4
0
        public TefLinhaLista Enviar(TefLinhaLista requisicao, IRequisicaoAtv requisicaoAtv)
        {
            _requisicao = requisicao;
            var resposta = new List <TefLinha>
            {
                new TefLinha("000-000", requisicao.BuscaLinha(AcTefIdentificadorCampos.Comando).Valor),
                new TefLinha("001-000", requisicao.BuscaLinha(AcTefIdentificadorCampos.Identificacao).Valor),
                new TefLinha("999-999", "0")
            };

            return(new TefLinhaLista(resposta));
        }
コード例 #5
0
        public TefLinhaLista Enviar(TefLinhaLista requisicao)
        {
            CriaRequisicao(requisicao);

            EfetuaRequisicao();

            AguardarRequisicao();

            var tefListaDeLinha = TefLinhaLista.LoadArquivo(ArquivoSts);

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

            return(tefListaDeLinha);
        }
コード例 #6
0
        protected override bool ConfereStatus(TefLinhaLista respostaRequisicao)
        {
            var linha028 = respostaRequisicao.BuscaLinha(AcTefIdentificadorCampos.TamanhoViaUnica, 0);

            if (linha028 == null)
            {
                return(false);
            }

            if (int.Parse(linha028.Valor) == 0)
            {
                return(false);
            }

            return(true);
        }
コード例 #7
0
        private void ImprimirArquivoDeRequisicaoTefManualmente_OnClick(object sender, RoutedEventArgs e)
        {
            try
            {
                var arquivoTef = string.Empty;

                var janelaArquivo = new OpenFileDialog
                {
                    Filter = "Arquivo tef(*.tef)|*.tef"
                };

                if (janelaArquivo.ShowDialog() == true)
                {
                    arquivoTef = janelaArquivo.FileName;
                }

                if (janelaArquivo.FileName.IsNullOrEmpty())
                {
                    MessageBox.Show("Selecione um arquivo tef", "Selecione um arquivo tef", MessageBoxButton.OK, MessageBoxImage.Information);
                    return;
                }


                var teflinha = TefLinhaLista.LoadArquivo(arquivoTef);

                if (_operadora == Operadora.TefExpress)
                {
                    var imprimir = new ImprimeViaEventArgs(teflinha);

                    ImprimirViaAction(null, imprimir);
                }

                if (_operadora != Operadora.TefExpress)
                {
                    var imprimir = new ImprimeViaEventArgs(teflinha);

                    ImprimirViaAction(null, imprimir);
                }
            }
            catch (Exception exception)
            {
                RegistarLog.Istancia.RegistrarException(exception);
                MessageBox.Show(exception?.Message, "EXCEPTION", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
コード例 #8
0
ファイル: AcTefRequisicao.cs プロジェクト: rd2sistemas1/Tef
        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);
        }
コード例 #9
0
ファイル: RespostaAdm.cs プロジェクト: rd2sistemas1/Tef
 public RespostaAdm(TefLinhaLista tefResposta, TefLinhaLista resposta)
 {
     TefResposta = tefResposta;
     Resposta    = resposta;
 }
コード例 #10
0
 protected override void ImprimirVias(TefLinhaLista respostaRequisicao)
 {
     _requisicao.OnImprimirVia(new TefExpressImprimeViaEventArgs(respostaRequisicao));
 }