예제 #1
0
        private void IterarOperacaoTef()
        {
            IIteracaoTef iteracaoTef = null;

            do
            {
                iteracaoTef = clienteCappta.IterarOperacaoTef();

                if (iteracaoTef is IMensagem)
                {
                    this.ExibirMensagem((IMensagem)iteracaoTef);
                    Thread.Sleep(INTERVALO_MILISEGUNDOS);
                }

                if (iteracaoTef is IRequisicaoParametro)
                {
                    this.RequisitarParametros((IRequisicaoParametro)iteracaoTef);
                }
                if (iteracaoTef is IRespostaTransacaoPendente)
                {
                    this.ResolverTransacaoPendente((IRespostaTransacaoPendente)iteracaoTef);
                }

                if (iteracaoTef is IRespostaOperacaoRecusada)
                {
                    this.ExibirDadosOperacaoRecusada((IRespostaOperacaoRecusada)iteracaoTef);
                }
                if (iteracaoTef is IRespostaOperacaoAprovada)
                {
                    this.ExibirDadosOperacaoAprovada((IRespostaOperacaoAprovada)iteracaoTef);
                    this.FinalizarPagamento();
                }
            } while (this.OperacaoNaoFinalizada(iteracaoTef));
        }
예제 #2
0
        public void IterarOperacaoTef(double valor, TipoCartao tipoCartao, long codSolicitacaoPagamento)
        {
            IIteracaoTef iteracaoTef = null;

            do
            {
                iteracaoTef = clienteCappta.IterarOperacaoTef();

                if (iteracaoTef is IMensagem)
                {
                    this.AtualizarResultado(((IMensagem)iteracaoTef).Descricao);
                    Thread.Sleep(INTERVALO_MILISEGUNDOS);
                }

                if (iteracaoTef is IRequisicaoParametro)
                {
                    this.RequisitarParametros((IRequisicaoParametro)iteracaoTef);
                }

                if (iteracaoTef is IRespostaOperacaoRecusada)
                {
                    this.ExibirDadosOperacaoRecusada((IRespostaOperacaoRecusada)iteracaoTef);

                    IRespostaOperacaoRecusada recusada         = (IRespostaOperacaoRecusada)iteracaoTef;
                    RespostaRecusada          respostaRecusada = new RespostaRecusada();
                    respostaRecusada.CodMotivo = recusada.CodigoMotivo;
                    respostaRecusada.Motivo    = recusada.Motivo;
                    resultadoProcessamento.RespostaRecusada = respostaRecusada;
                    resultadoProcessamento.Aprovado         = false;
                }
                if (iteracaoTef is IRespostaOperacaoAprovada)
                {
                    this.ExibirDadosOperacaoAprovada((IRespostaOperacaoAprovada)iteracaoTef);
                    IRespostaOperacaoAprovada aprovada         = (IRespostaOperacaoAprovada)iteracaoTef;
                    RespostaAprovada          respostaAprovada = new RespostaAprovada();
                    respostaAprovada.CodAutorizacaoAdquirente = aprovada.CodigoAutorizacaoAdquirente;
                    respostaAprovada.CupomCliente             = aprovada.CupomCliente;
                    respostaAprovada.CupomLojista             = aprovada.CupomLojista;
                    respostaAprovada.CupomReduzido            = aprovada.CupomReduzido;
                    respostaAprovada.DataHoraAutorizacao      = aprovada.DataHoraAutorizacao;
                    respostaAprovada.NomeAdquirente           = aprovada.NomeAdquirente;
                    respostaAprovada.NomeBandeiraCartao       = aprovada.NomeBandeiraCartao;
                    respostaAprovada.NsuAdquirente            = aprovada.NsuAdquirente;
                    respostaAprovada.NsuTef                  = aprovada.NsuTef.ToString();
                    respostaAprovada.NumeroControle          = aprovada.NumeroControle;
                    respostaAprovada.Valor                   = valor;
                    respostaAprovada.TipoCartao              = tipoCartao;
                    respostaAprovada.CodSolicitacaoPagamento = codSolicitacaoPagamento;
                    resultadoProcessamento.ListaRespostaAprovada.Add(respostaAprovada);
                    resultadoProcessamento.Aprovado = true;

                    this.FinalizarPagamento();
                }
            } while (this.OperacaoNaoFinalizada(iteracaoTef));
        }
예제 #3
0
        public void IterarOperacaoTef()
        {
            TaskManagerForm.Start(() =>
            {
                if (this.RadioButtonUsarMultiTef.Enabled)
                {
                    this.DesabilitarControlesMultiTef();
                }
                this.DesabilitarBotoes();
                IIteracaoTef iteracaoTef = null;

                do
                {
                    iteracaoTef = cliente.IterarOperacaoTef();

                    if (iteracaoTef is IMensagem)
                    {
                        this.ExibirMensagem((IMensagem)iteracaoTef);
                        Thread.Sleep(INTERVALO_MILISEGUNDOS);
                    }

                    if (iteracaoTef is IRequisicaoParametro)
                    {
                        this.RequisitarParametros((IRequisicaoParametro)iteracaoTef);
                    }
                    if (iteracaoTef is IRespostaTransacaoPendente)
                    {
                        this.ResolverTransacaoPendente((IRespostaTransacaoPendente)iteracaoTef);
                    }

                    if (iteracaoTef is IRespostaOperacaoRecusada)
                    {
                        this.ExibirDadosOperacaoRecusada((IRespostaOperacaoRecusada)iteracaoTef);
                    }
                    if (iteracaoTef is IRespostaOperacaoAprovada)
                    {
                        this.ExibirDadosOperacaoAprovada((IRespostaOperacaoAprovada)iteracaoTef);
                        this.FinalizarPagamento();
                    }

                    if (iteracaoTef is IRespostaRecarga)
                    {
                        this.ExibirDadosDeRecarga((IRespostaRecarga)iteracaoTef);
                    }
                } while (this.OperacaoNaoFinalizada(iteracaoTef));

                if (this.sessaoMultiTefEmAndamento == false)
                {
                    this.HabilitarControlesMultiTef();
                }
                this.HabilitarBotoes();
            });
        }
예제 #4
0
 private bool OperacaoNaoFinalizada(IIteracaoTef iteracaoTef)
 {
     return(iteracaoTef.TipoIteracao != 1 && iteracaoTef.TipoIteracao != 2);
 }