示例#1
0
        public ResultadoProcessamento ProcessarPagamentos(List <Pagamento> pagamentos)
        {
            resultadoProcessamento = new ResultadoProcessamento();
            resultadoProcessamento.ListaRespostaAprovada = new List <RespostaAprovada>();
            if (pagamentos.Count() > 1)
            {
                quantidadeCartoes = pagamentos.Count;
                clienteCappta.IniciarMultiCartoes(pagamentos.Count);
                sessaoMultiTefEmAndamento = true;
            }

            foreach (Pagamento pagamento in pagamentos)
            {
                if (pagamento.TipoCartao.Equals(TipoCartao.CREDITO))
                {
                    PagarCredito(pagamento.Valor, pagamento.QuantidadeParcelas, (int)pagamento.TipoParcelamento, pagamento.CodSolicitacaoPagamento);
                }
                else if (pagamento.TipoCartao.Equals(TipoCartao.DEBITO))
                {
                    PagarDebito(pagamento.Valor, pagamento.CodSolicitacaoPagamento);
                }
                else if (pagamento.TipoCartao.Equals(TipoCartao.CREDIARIO))
                {
                    PagarCrediario(pagamento.Valor, pagamento.QuantidadeParcelas, pagamento.CodSolicitacaoPagamento);
                }
                resultadoProcessamento.CodSolicitacao = pagamento.CodSolicitacao;
            }
            if (resultadoProcessamento.Aprovado)
            {
                FinalizarPagamento();
            }
            return(resultadoProcessamento);
        }
示例#2
0
 public FrmProcessarCartao(ComunicacaoCartao comunicacaoCartao, List <Pagamento> listaPagamentos)
 {
     InitializeComponent();
     this.listaPagamentos   = listaPagamentos;
     this.comunicacaoCartao = comunicacaoCartao;
     this.Resultado         = comunicacaoCartao.Resultado;
 }
示例#3
0
 public FrmProcessarCartao(ComunicacaoCartao comunicacaoCartao, List <Pagamento> listaPagamentos)
 {
     InitializeComponent();
     this.listaPagamentos   = listaPagamentos;
     ResultadoProcessamento = new ResultadoProcessamento();
     this.comunicacaoCartao = comunicacaoCartao;
     ProcessarCartao(comunicacaoCartao, listaPagamentos);
     btnProcessar.Focus();
 }
示例#4
0
        private void ProcessarCartao(ComunicacaoCartao comunicacaoCartao, List <Pagamento> listaPagamentos)
        {
            bool cartoesAprovados = true;

            while (cartoesAprovados && quantidadePagamentosProcessada < listaPagamentos.Count)
            {
                Pagamento pagamento = listaPagamentos.ElementAt(quantidadePagamentosProcessada);
                quantidadePagamentosProcessada++;
                AtualizarDadosTela(pagamento, quantidadePagamentosProcessada);
                ResultadoProcessamento resultado = null;// comunicacaoCartao.ProcessarPagamentos(pagamento);
                cartoesAprovados = resultado.Aprovado;
            }
            //if (cartoesAprovados)
            //    comunicacaoCartao.FinalizarPagamento();
        }
示例#5
0
 public ComunicacaoCartao()
 {
     clienteCappta = new ClienteCappta();
     Resultado     = new ResultadoProcessamento();
     AutenticarPdv();
 }