예제 #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
        public TefLinhaLista Enviar(TefLinhaLista requisicao)
        {
            CriaRequisicao(requisicao);

            EfetuaRequisicao();

            AguardarRequisicao();

            var tefListaDeLinha = TefLinhaLista.LoadArquivo(ArquivoSts);

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

            return(tefListaDeLinha);
        }
예제 #3
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);
            }
        }
예제 #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);
        }