Beispiel #1
0
        protected async virtual Task atualizandoDado()
        {
            var regraUsuario = UsuarioFactory.create();
            var usuarioAtual = regraUsuario.pegarAtual();

            if (usuarioAtual == null)
            {
                UserDialogs.Instance.HideLoading();
                UserDialogs.Instance.Alert("Não está logado.", "Erro", "Fechar");
                return;
            }
            var usuario = await regraUsuario.pegar(usuarioAtual.Id);

            regraUsuario.gravarAtual(usuario);
            _usuarioPage.Usuario = usuario;
            var enderecos = new List <EnderecoInfo>();

            foreach (var endereco in usuario.Enderecos)
            {
                enderecos.Add(endereco);
            }
            _enderecoListaPage.Enderecos = enderecos;

            var regraCartao = CartaoFactory.create();
            var cartoes     = await regraCartao.listar(usuario.Id);

            _cartaoListaPage.Cartoes = cartoes;
            return;
        }
Beispiel #2
0
        static void Main(string[] args)
        {
            CartaoFactory cartaoFactory = null;

            Console.Write("Digite o tipo de cartão que gostaria de obter:");
            string console = Console.ReadLine();

            switch (console.ToLower())
            {
            case "black":
                cartaoFactory = new BlackFactory(50000, 0);
                break;

            case "titanium":
                cartaoFactory = new TitaniumFactory(100000, 500);
                break;

            case "platinum":
                cartaoFactory = new PlatinumFactory(500000, 1000);
                break;

            default:
                break;
            }

            CartaoCredito cartaoCredito = cartaoFactory.BuscarCartaoCredito();

            Console.WriteLine("\nOs detalhes do seu cartão estão abaixo: \n");
            Console.WriteLine("Tipo do Cartao: {0}\nCrédito limite: {1}\nCobrança Anual: {2}",
                              cartaoCredito.TipoCartao, cartaoCredito.LimiteCredito, cartaoCredito.CobrancaAnual);
            Console.ReadKey();
        }
Beispiel #3
0
        static void Main(string[] args)
        {
            string        console = null;
            string        x;
            CartaoFactory cartaoFactory = null;

            do
            {
                Console.WriteLine("\nISTO É APENAS UM TESTE\n");
                Console.WriteLine("Digite o tipo de cartão que deseja");
                Console.WriteLine("Opção 1 - Cartão Black");
                Console.WriteLine("Opção 2 - Cartão Platinum");
                Console.WriteLine("Opção 3 - Cartão Titanium");
                console = Console.ReadLine();


                if (console == "1" || console == "2" || console == "3" +
                    "")
                {
                    switch (console)
                    {
                    case "1":
                        cartaoFactory = new BlackFactory(50000, 0);
                        break;

                    case "2":
                        cartaoFactory = new PlatinumFactory(10000, 100);
                        break;

                    case "3":
                        cartaoFactory = new TitaniumFactory(150000, 150);
                        break;

                    default:
                        break;
                    }

                    CartaoCredito cartaoCredito = cartaoFactory.BuscarCartaoCredito();
                    Console.WriteLine("\nISTO É APENAS UM TESTE\n");
                    Console.WriteLine("\nObrigado por escolher o seu cartão");
                    Console.WriteLine("\nSegue a baixo os detalhes do seu cartão:\n");
                    Console.WriteLine("Tipo do cartão:{0}\nCrédito Limite:{1}\nCobrança Anual:{2}",
                                      cartaoCredito.TipoCartao, cartaoCredito.LimiteCredito, cartaoCredito.CobrancaAnual);
                    Console.WriteLine("\nDeseja continuar? S/N\n");
                    x = Console.ReadLine().ToUpper();
                }
                else
                {
                    Console.WriteLine("\nISTO É APENAS UM TESTE\n");
                    Console.WriteLine("\nNúmero inválido\n");
                    Console.WriteLine("\nDeseja continuar? S/N\n");
                    x = Console.ReadLine().ToUpper();
                    Console.WriteLine("\nISTO É APENAS UM TESTE\n");
                }
            }while (x == "S" || x == "SIM");

            Console.ReadKey();
        }
Beispiel #4
0
        private async void creditoOnlineClicked(object sender, EventArgs e)
        {
            if (Pagamento == null)
            {
                await DisplayAlert("Erro", "Nenhum pagamento informado!", "Fechar");

                return;
            }
            UserDialogs.Instance.ShowLoading("Carregando...");
            try
            {
                Pagamento.Tipo = TipoPagamentoEnum.CreditoOnline;

                var regraUsuario = UsuarioFactory.create();
                var usuario      = regraUsuario.pegarAtual();

                var regraCartao = CartaoFactory.create();
                var cartoes     = await regraCartao.listar(usuario.Id);

                if (cartoes != null && cartoes.Count() > 0)
                {
                    var cartaoListaPage = new CartaoListaPage()
                    {
                        Title     = "Meus Cartões",
                        Pagamento = Pagamento,
                        Cartoes   = cartoes
                    };
                    cartaoListaPage.AoEfetuarPagamento += (s2, pagamento) => {
                        AoEfetuarPagamento?.Invoke(sender, pagamento);
                    };
                    await Navigation.PushAsync(cartaoListaPage);
                }
                else
                {
                    var cartaoPage = new CartaoPage
                    {
                        Title      = "Cartão de Crédito",
                        UsaCredito = true,
                        UsaDebito  = false,
                        Pagamento  = Pagamento
                    };
                    cartaoPage.AoEfetuarPagamento += (s2, pagamento) =>
                    {
                        AoEfetuarPagamento?.Invoke(sender, pagamento);
                    };
                    await Navigation.PushAsync(cartaoPage);
                }
                UserDialogs.Instance.HideLoading();
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                await DisplayAlert("Erro", erro.Message, "Entendi");
            }
        }
        private async void enviarPagamento()
        {
            if (!validarCampo())
            {
                return;
            }
            UserDialogs.Instance.ShowLoading("Enviando...");
            try
            {
                var regraPagamento = PagamentoFactory.create();
                var regraCartao    = CartaoFactory.create();
                var regraUsuario   = UsuarioFactory.create();

                var usuario = regraUsuario.pegarAtual();

                Pagamento.Bandeira      = regraPagamento.pegarBandeiraPorNumeroCartao(_NumeroCartaoEntry.Text);
                Pagamento.DataExpiracao = regraCartao.pegarDataExpiracao((string)_ValidadeCartaoPicker.SelectedItem);
                Pagamento.IdUsuario     = usuario.Id;
                Pagamento.NomeCartao    = _NomeEntry.Text;
                Pagamento.NumeroCartao  = _NumeroCartaoEntry.TextOnlyNumber;
                Pagamento.Tipo          = _TipoSelecionado;
                Pagamento.CVV           = _CVCartaoEntry.Text;

                var retorno = await regraPagamento.pagar(Pagamento);

                if (retorno.Situacao == SituacaoPagamentoEnum.Pago || retorno.Situacao == SituacaoPagamentoEnum.AguardandoPagamento)
                {
                    var pagamento = await regraPagamento.pegar(retorno.IdPagamento);

                    if (retorno.Situacao == SituacaoPagamentoEnum.Pago)
                    {
                        var mensagem = "Foram debitados R$ {0} do seu cartão de crédito.";
                        var rootPage = (RootPage)App.Current.MainPage;
                        CrossLocalNotifications.Current.Show(rootPage.NomeApp, string.Format(mensagem, pagamento.ValorTotalStr));
                    }
                    UserDialogs.Instance.HideLoading();
                    AoEfetuarPagamento?.Invoke(this, pagamento);
                }
                else
                {
                    UserDialogs.Instance.HideLoading();
                    await DisplayAlert("Erro", retorno.Mensagem, "Entendi");
                }
            }
            catch (Exception erro)
            {
                UserDialogs.Instance.HideLoading();
                //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
                await DisplayAlert("Erro", erro.Message, "Entendi");
            }
        }
Beispiel #6
0
 public void excluir(CartaoInfo cartao)
 {
     UserDialogs.Instance.ShowLoading("Excluindo cartão...");
     try
     {
         var regraCartao = CartaoFactory.create();
         regraCartao.excluir(cartao.Id);
         if (_cartoes != null)
         {
             _cartoes.Remove(cartao);
             _cartaoListView.ItemsSource = null;
             _cartaoListView.ItemsSource = _cartoes;
         }
         UserDialogs.Instance.HideLoading();
     }
     catch (Exception erro)
     {
         UserDialogs.Instance.HideLoading();
         //UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar");
         DisplayAlert("Erro", erro.Message, "Entendi");
     }
 }
Beispiel #7
0
        private void btnOpcao_Click(object sender, EventArgs e)
        {
            CartaoFactory cartaoFactory = null;

            switch (cmbOpcoes.Text.ToLower())
            {
            case "black":
                cartaoFactory = new BlackFactory(50000, 0);
                break;

            case "titanium":
                cartaoFactory = new TitaniumFactory(100000, 500);
                break;

            case "platinum":
                cartaoFactory = new PlatinumFactory(500000, 1000);
                break;
            }

            CartaodeCredito cartaoCredito = cartaoFactory.BuscarCartaoCredito();

            textBox1.Text = cartaoCredito.LimiteCredito.ToString();
            textBox2.Text = cartaoCredito.CobrancaAnual.ToString();
        }
        private void inicializarComponente()
        {
            _observacaoLabel = new Label
            {
                VerticalOptions   = LayoutOptions.Center,
                HorizontalOptions = LayoutOptions.Start,
                Style             = Estilo.Current[EstiloTotal.TOTAL_LABEL],
                Text = "Valor Cobrado: "
            };
            _totalLabel = new Label
            {
                HorizontalOptions = LayoutOptions.Start,
                VerticalOptions   = LayoutOptions.Start,
                Style             = Estilo.Current[EstiloTotal.TOTAL_TEXTO],
                Text = "R$ 0,00",
            };
            _DebitoButton = new Button
            {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Style             = Estilo.Current[Estilo.BTN_PADRAO],
                Text = "Débito"
            };
            _DebitoButton.Clicked += (sender, e) => {
                _TipoSelecionado               = TipoPagamentoEnum.DebitoOnline;
                _DebitoButton.Style            = Estilo.Current[Estilo.BTN_PRINCIPAL];
                _CreditoButton.BackgroundColor = Color.Silver;
                _CreditoButton.TextColor       = Color.White;
            };
            _CreditoButton = new Button
            {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Style             = Estilo.Current[Estilo.BTN_PADRAO],
                Text = "Crédito"
            };
            _CreditoButton.Clicked += (sender, e) => {
                _TipoSelecionado              = TipoPagamentoEnum.CreditoOnline;
                _CreditoButton.Style          = Estilo.Current[Estilo.BTN_PRINCIPAL];
                _DebitoButton.BackgroundColor = Color.Silver;
                _DebitoButton.TextColor       = Color.White;
            };
            _NomeEntry = new Entry
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.Start,
                Placeholder       = "Nome que está no cartão",
                Style             = Estilo.Current[Estilo.ENTRY_PADRAO]
            };

            /*_CPFEntry = new Entry {
             *  HorizontalOptions = LayoutOptions.Fill,
             *  VerticalOptions = LayoutOptions.Start,
             *  Placeholder = "CPF do títular do cartão",
             *  Keyboard = Keyboard.Numeric
             * };*/
            _NumeroCartaoEntry = new NumeroCartaoEntry
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.Start,
                Placeholder       = "Número do Cartão",
                Keyboard          = Keyboard.Numeric,
                Style             = Estilo.Current[Estilo.ENTRY_PADRAO],
                FontSize          = NUMERO_CARTAO_SIZE
            };
            _ValidadeCartaoPicker = new Picker
            {
                HorizontalOptions = LayoutOptions.FillAndExpand,
                VerticalOptions   = LayoutOptions.Start,
                Title             = "Selecione a data"
            };
            var regraCartao = CartaoFactory.create();

            _ValidadeCartaoPicker.ItemsSource = regraCartao.listarValidadeCartao();

            _CVCartaoEntry = new Entry
            {
                HorizontalOptions = LayoutOptions.Start,
                VerticalOptions   = LayoutOptions.Start,
                Placeholder       = "CV",
                WidthRequest      = 100,
                Keyboard          = Keyboard.Numeric,
                Style             = Estilo.Current[Estilo.ENTRY_PADRAO]
            };
            _PagarButton = new Button
            {
                HorizontalOptions = LayoutOptions.Fill,
                VerticalOptions   = LayoutOptions.Start,
                Style             = Estilo.Current[Estilo.BTN_PRINCIPAL],
                Text = "PAGAR"
            };
            _PagarButton.Clicked += (sender, e) => {
                enviarPagamento();
            };
        }