public static EnderecoListaPage gerarEnderecoLista(Action <EnderecoInfo> aoSelecionar) { var enderecoListaPage = new EnderecoListaPage { Title = "Endereços" }; enderecoListaPage.AoAtualizar += async(sender, enderecos) => { UserDialogs.Instance.ShowLoading("Carregando..."); try { var regraUsuario = UsuarioFactory.create(); var usuario = regraUsuario.pegarAtual(); usuario.Enderecos.Clear(); foreach (var endereco in enderecos) { usuario.Enderecos.Add(UsuarioEnderecoInfo.clonar(endereco)); } int idUsuario = usuario.Id; if (idUsuario > 0) { await regraUsuario.alterar(usuario); } else { idUsuario = await regraUsuario.inserir(usuario); } var usuarioRemoto = await regraUsuario.pegar(idUsuario); regraUsuario.gravarAtual(usuarioRemoto); var usuarioEnderecos = new List <EnderecoInfo>(); foreach (var endereco in usuarioRemoto.Enderecos) { usuarioEnderecos.Add(endereco); } ((EnderecoListaPage)sender).Enderecos = usuarioEnderecos; UserDialogs.Instance.HideLoading(); } catch (Exception erro) { UserDialogs.Instance.HideLoading(); UserDialogs.Instance.Alert(erro.Message, "Erro", "Fechar"); } }; if (aoSelecionar != null) { enderecoListaPage.AoSelecionar += (sender, endereco) => { aoSelecionar(endereco); }; } return(enderecoListaPage); }
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" }; }