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);
        }
Exemple #2
0
 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"
     };
 }