private async void boletoClicked(object sender, EventArgs e) { if (Pagamento == null) { await DisplayAlert("Erro", "Nenhum pagamento informado!", "Fechar"); return; } Pagamento.Tipo = TipoPagamentoEnum.Boleto; if (Pagamento.TemEndereco) { gerarBoleto(Pagamento); } else { var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); if (usuario.Enderecos.Count == 1) { preencherEndereco(Pagamento, usuario.Enderecos[0]); gerarBoleto(Pagamento); } else if (usuario.Enderecos.Count > 0) { var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) => { preencherEndereco(Pagamento, endereco); gerarBoleto(Pagamento); }); var enderecos = new List <EnderecoInfo>(); foreach (var endereco in usuario.Enderecos) { enderecos.Add(endereco); } enderecoListaPage.Enderecos = enderecos; enderecoListaPage.Title = "Endereço de Cobrança"; await Navigation.PushAsync(enderecoListaPage); } else { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); var regraLogin = UsuarioFactory.create(); regraLogin.gravarAtual(usuario); preencherEndereco(Pagamento, endereco); gerarBoleto(Pagamento); }); await Navigation.PushAsync(cepPage); } } }
protected virtual void inicializarComponente() { _usuarioPage = UsuarioFormPageFactory.create(); _usuarioPage.Title = "Dados"; _usuarioPage.Gravar = true; _usuarioPage.AoCadastrar += (sender, e) => { //UserDialogs.Instance.Alert("Dados alterados com sucesso.", "Aviso", "Fechar"); _usuarioPage.DisplayAlert("Aviso", "Dados alterados com sucesso.", "Fechar"); }; _enderecoListaPage = EnderecoUtils.gerarEnderecoLista(null); _cartaoListaPage = new CartaoListaPage { Title = "Meus cartões" }; }
/* * private async void abrirHorarioEntrega(PedidoInfo pedido) { * UserDialogs.Instance.ShowLoading("Carregando horários de entrega..."); * try * { * var regraHorario = PedidoHorarioFactory.create(); * var horarios = await regraHorario.listar(Pedido.IdLoja); * if (horarios.Count > 1) * { * var horarioEntregaPage = new HorarioEntregaPage() * { * Title = "Horário de Entrega", * Horarios = horarios * }; * horarioEntregaPage.AoSelecionar += (s2, horario) => * { * Pedido.DiaEntrega = horarioEntregaPage.DiaEntrega; * Pedido.HorarioEntrega = horario.Horario; * definirEntrega(Pedido); * }; * UserDialogs.Instance.HideLoading(); * await Navigation.PushAsync(horarioEntregaPage); * } * else * { * UserDialogs.Instance.HideLoading(); * definirEntrega(Pedido); * } * } * catch (Exception erro) * { * UserDialogs.Instance.HideLoading(); * UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar"); * //await DisplayAlert("Erro", erro.Message, "Entendi"); * } * } */ protected virtual void inicializarComponente() { _entregaButton = new MenuButton { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Icon = "fa-motorcycle", Text = "Receber em\nCasa", Style = Estilo.Current[Estilo.BTN_ROOT] }; _entregaButton.Click += async(sender, e) => { Pedido.Entrega = EntregaEnum.Entrega; var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); /* * if (usuario.Enderecos.Count == 1) * { * var endereco = usuario.Enderecos[0]; * Pedido.Cep = endereco.Cep; * Pedido.Logradouro = endereco.Logradouro; * Pedido.Complemento = endereco.Complemento; * Pedido.Numero = endereco.Numero; * Pedido.Bairro = endereco.Bairro; * Pedido.Cidade = endereco.Cidade; * Pedido.Uf = endereco.Uf; * Pedido.Latitude = endereco.Latitude; * Pedido.Longitude = endereco.Longitude; * * definirEntrega(Pedido); * } */ if (usuario.Enderecos.Count > 0) { var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) => { Pedido.Cep = endereco.Cep; Pedido.Logradouro = endereco.Logradouro; Pedido.Complemento = endereco.Complemento; Pedido.Numero = endereco.Numero; Pedido.Bairro = endereco.Bairro; Pedido.Cidade = endereco.Cidade; Pedido.Uf = endereco.Uf; Pedido.Latitude = endereco.Latitude; Pedido.Longitude = endereco.Longitude; //abrirHorarioEntrega(Pedido); definirEntrega(Pedido); }); var enderecos = new List <EnderecoInfo>(); foreach (var endereco in usuario.Enderecos) { enderecos.Add(endereco); } enderecoListaPage.Enderecos = enderecos; await Navigation.PushAsync(enderecoListaPage); } else { var cepPage = EnderecoUtils.gerarBuscaPorCep(async(endereco) => { UserDialogs.Instance.ShowLoading("Atualizando endereço..."); try { var regraLogin = UsuarioFactory.create(); usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); await regraLogin.alterar(usuario); regraLogin.gravarAtual(usuario); Pedido.Cep = endereco.Cep; Pedido.Logradouro = endereco.Logradouro; Pedido.Complemento = endereco.Complemento; Pedido.Numero = endereco.Numero; Pedido.Bairro = endereco.Bairro; Pedido.Cidade = endereco.Cidade; Pedido.Uf = endereco.Uf; Pedido.Latitude = endereco.Latitude; Pedido.Longitude = endereco.Longitude; var regraHorario = PedidoHorarioFactory.create(); var horarios = await regraHorario.listar(Pedido.IdLoja); if (horarios.Count > 1) { var horarioEntregaPage = new HorarioEntregaPage() { Title = "Horário de Entrega", Horarios = horarios }; horarioEntregaPage.AoSelecionar += (s2, e2) => { definirEntrega(Pedido); }; UserDialogs.Instance.HideLoading(); await Navigation.PushAsync(horarioEntregaPage); } else { UserDialogs.Instance.HideLoading(); definirEntrega(Pedido); } } catch (Exception erro) { UserDialogs.Instance.HideLoading(); UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar"); //await DisplayAlert("Erro", erro.Message, "Entendi"); } }, false); await Navigation.PushAsync(cepPage); } }; _retirarNoLocalButton = new MenuButton { HorizontalOptions = LayoutOptions.FillAndExpand, VerticalOptions = LayoutOptions.Start, Icon = "fa-home", Text = "Retirar na Loja", Style = Estilo.Current[Estilo.BTN_ROOT] }; _retirarNoLocalButton.Click += (sender, e) => { Pedido.Entrega = EntregaEnum.RetirarNaLoja; var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); if (usuario.Enderecos.Count == 1) { var endereco = usuario.Enderecos[0]; Pedido.Cep = endereco.Cep; Pedido.Logradouro = endereco.Logradouro; Pedido.Complemento = endereco.Complemento; Pedido.Numero = endereco.Numero; Pedido.Bairro = endereco.Bairro; Pedido.Cidade = endereco.Cidade; Pedido.Uf = endereco.Uf; Pedido.Latitude = endereco.Latitude; Pedido.Longitude = endereco.Longitude; } definirEntrega(Pedido); }; }
public static Page gerarCarrinho(Action <PedidoInfo> AoSelecionarEndereco) { var carrinhoPage = new CarrinhoPage { Title = "Meu carrinho" }; carrinhoPage.AoFinalizar += (s1, produtos) => { var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); if (usuario != null && usuario.Id > 0) { if (usuario.Enderecos.Count > 0) { var enderecoListaPage = EnderecoUtils.gerarEnderecoLista((endereco) => { AoSelecionarEndereco(PedidoUtils.gerar(produtos, endereco)); }); enderecoListaPage.Title = "Local de entrega"; ((Page)s1).Navigation.PushAsync(enderecoListaPage); } else { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); var regraLogin = UsuarioFactory.create(); regraLogin.gravarAtual(usuario); AoSelecionarEndereco(PedidoUtils.gerar(produtos, endereco)); }); ((Page)s1).Navigation.PushAsync(cepPage); } } else { if (usuario == null) { usuario = new UsuarioInfo(); } var usuarioCadastroPage = UsuarioFormPageFactory.create(); usuarioCadastroPage.Title = "Cadastre-se"; usuarioCadastroPage.Gravar = true; usuarioCadastroPage.Usuario = usuario; usuarioCadastroPage.AoCadastrar += (s2, usuario2) => { var cepPage = EnderecoUtils.gerarBuscaPorCep((endereco) => { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); var regraLogin = UsuarioFactory.create(); regraLogin.gravarAtual(usuario); AoSelecionarEndereco(PedidoUtils.gerar(produtos, endereco)); }); ((Page)s2).Navigation.PushAsync(cepPage); }; ((Page)s1).Navigation.PushAsync(usuarioCadastroPage); } }; return(carrinhoPage); }