Ejemplo n.º 1
0
        public static PagamentoMetodoPage gerarPagamento(Action <PagamentoInfo> aoPagar)
        {
            var pagamentoMetodoPage = new PagamentoMetodoPage
            {
                Title = "Forma de Pagamento"
            };

            pagamentoMetodoPage.AoEfetuarPagamento += (sender, pagamento) =>
            {
                aoPagar?.Invoke(pagamento);
            };
            return(pagamentoMetodoPage);
        }
Ejemplo n.º 2
0
 public static Page gerarCarrinhoParaPagamento()
 {
     return(gerarCarrinho((pedido) => {
         var pagamento = PagamentoUtils.gerar(pedido);
         var regraLoja = LojaFactory.create();
         var loja = regraLoja.pegarAtual();
         var pagamentoMetodoPage = new PagamentoMetodoPage {
             Title = "Forma de Pagamento",
             Pagamento = pagamento,
             UsaCredito = loja.AceitaCreditoOnline,
             UsaDebito = loja.AceitaDebitoOnline,
             UsaDinheiro = loja.AceitaDinheiro,
             UsaBoleto = loja.AceitaBoleto
         };
         ((RootPage)App.Current.MainPage).PushAsync(pagamentoMetodoPage);
     }));
 }
Ejemplo n.º 3
0
        public static void gerarPagamento(FreteInfo frete, Action <FreteInfo> aoEfetuarPagamento)
        {
            var regraUsuario = UsuarioFactory.create();
            var usuario      = regraUsuario.pegarAtual();
            var pgtoInicial  = new PagamentoInfo
            {
                Cpf       = usuario.CpfCnpj,
                IdUsuario = usuario.Id
            };

            pgtoInicial.Itens.Add(new PagamentoItemInfo
            {
                Descricao  = "Frete",
                Quantidade = 1,
                Valor      = frete.Preco
            });
            var metodoPagamento = new PagamentoMetodoPage
            {
                Pagamento   = pgtoInicial,
                UsaCredito  = true,
                UsaDebito   = false,
                UsaBoleto   = false,
                UsaDinheiro = true
            };

            metodoPagamento.AoEfetuarPagamento += async(sender, pagamento) =>
            {
                frete.IdPagamento = pagamento.IdPagamento;
                UserDialogs.Instance.ShowLoading("Processando pagamento...");
                try
                {
                    var regraFrete = FreteFactory.create();
                    switch (pagamento.Situacao)
                    {
                    case SituacaoPagamentoEnum.Pago:
                        frete.Situacao = FreteSituacaoEnum.ProcurandoMotorista;
                        break;

                    case SituacaoPagamentoEnum.Cancelado:
                        frete.Situacao = FreteSituacaoEnum.Cancelado;
                        break;

                    default:
                        frete.Situacao = FreteSituacaoEnum.AguardandoPagamento;
                        break;
                    }
                    var id_frete = frete.Id;
                    if (id_frete > 0)
                    {
                        await regraFrete.alterar(frete);
                    }
                    else
                    {
                        id_frete = await regraFrete.inserir(frete);
                    }
                    var novoFrete = await regraFrete.pegar(id_frete);

                    UserDialogs.Instance.HideLoading();
                    aoEfetuarPagamento?.Invoke(novoFrete);
                }
                catch (Exception erro)
                {
                    UserDialogs.Instance.HideLoading();
                    await UserDialogs.Instance.AlertAsync(erro.Message, "Erro", "Entendi");
                }
                UserDialogs.Instance.HideLoading();
            };
            ((RootPage)App.Current.MainPage).PushAsync(metodoPagamento);
        }