public static async Task criarUsuario(Action aoCriar) { var atualPage = App.Current.MainPage; var cadastroPage = UsuarioFormPageFactory.create(); if (!(cadastroPage is FreteUsuarioFormPage)) { throw new Exception("A página de cadastro precisa ser do tipo FreteUsuarioFormPage."); } ((FreteUsuarioFormPage)cadastroPage).AoCadastrarMotorista += (s1, m1) => { var motoristaPage = CadastroMotoristaPageFactory.create(); motoristaPage.Usuario = m1; motoristaPage.AoCompletar += (s2, motorista) => { aoCriar?.Invoke(); }; ((Page)s1).Navigation.PushAsync(motoristaPage); }; ((FreteUsuarioFormPage)cadastroPage).AoCadastrarEmpresa += (s2, u2) => { /* * var empresaPage = new CadastroEmpresaPage(u2); * empresaPage.AoCompletar += (s3, usuario) => * { * aoCriar?.Invoke(); * }; * ((Page)s2).Navigation.PushAsync(empresaPage); */ aoCriar?.Invoke(); }; await atualPage.Navigation.PushAsync(cadastroPage); }
private void inicializarComponente() { _CadastroButton = new Button() { Margin = new Thickness(0, 10, 0, 0), Text = "CRIAR CONTA", VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Style = Estilo.Current[Estilo.BTN_PRINCIPAL] }; _CadastroButton.Clicked += (sender, e) => { var cadastroPage = UsuarioFormPageFactory.create(); cadastroPage.Title = "Cria sua conta"; cadastroPage.Usuario = Usuario; cadastroPage.Gravar = true; cadastroPage.AoCadastrar += (s2, usuario) => { AoSelecionar?.Invoke(this, usuario); }; Navigation.PushAsync(cadastroPage); }; _LoginButton = new Button() { Margin = new Thickness(0, 10, 0, 0), Text = "JÁ POSSUO UM CONTA", VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Style = Estilo.Current[Estilo.BTN_SUCESSO] }; _LoginButton.Clicked += (sender, e) => { var loginPage = new LoginPage { Title = "Entre com sua conta" }; loginPage.AoLogar += (s2, usuario) => { AoSelecionar?.Invoke(this, usuario); }; Navigation.PushAsync(loginPage); }; _SenhaButton = new Button() { Margin = new Thickness(0, 10, 0, 0), Text = "ESQUECI/ALTERAR MINHA SENHA", VerticalOptions = LayoutOptions.Start, HorizontalOptions = LayoutOptions.Fill, Style = Estilo.Current[Estilo.BTN_PADRAO] }; _SenhaButton.Clicked += (sender, e) => { Navigation.PushAsync(new EmailSenhaPage()); }; }
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" }; }
public static Page gerarCadastro(Action <UsuarioInfo> aoCadastrar, bool usaRoot = true) { var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); var usuarioCadastroPage = UsuarioFormPageFactory.create(); usuarioCadastroPage.Title = "Cadastre-se"; usuarioCadastroPage.Gravar = true; usuarioCadastroPage.Usuario = usuario; usuarioCadastroPage.AoCadastrar += (sender, e) => { aoCadastrar?.Invoke(e); //var destaquePage = ProdutoUtils.gerarProdutoListaDestaque(); //pushAsync(destaquePage, usaRoot); }; return(usuarioCadastroPage); }
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); }