private async void btnRegister_Clicked(object sener, EventArgs e)
        {
            Utils.ChangeState(this.Content as ILayoutController, indProgress, true);
            string msg = "Registro salvo com sucesso.";
            User   u   = new User()
            {
                Email = txtEmail.Text,
                Senha = txtPassword.Text
            };

            if (UsuarioViewModel.IsValid(u) && txtPassword.Text == txtConfirmPassword.Text)
            {
                if (await UsuarioViewModel.Exists(u.Email))
                {
                    msg = "Um usuário com este e-mail já existe, favor confirmar os dados e tentar novamente.";
                }
                else
                {
                    await UsuarioViewModel.Create(u);
                }

                var page = new ListagemNoteView();
                await App.Navigate(page);
            }
            else
            {
                msg = "Registro inválido, favor confirmar os dados e tentar novamente.";
            }

            Utils.ChangeState(this.Content as ILayoutController, indProgress, false);
            await DisplayAlert("Cadastro", msg, "Ok");
        }
예제 #2
0
        private async void btnLogin_Clicked(object sender, EventArgs e)
        {
            indProgress.IsRunning = true;
            User usuario = new User()
            {
                Email = txtEmail.Text,
                Senha = txtPassword.Text
            };
            bool loginSuccessful = await UsuarioViewModel.Login(usuario);

            indProgress.IsRunning = false;

            if (!loginSuccessful)
            {
                await DisplayAlert("Login", "Email ou senha inválidos, favor tentar novamente.", "Ok");

                return;
            }


            ListagemNoteView rootView = ((App.Current.MainPage as MasterDetailPage).Detail as NavigationPage).RootPage as ListagemNoteView;

            rootView.RefreshListSource(); // Atualiza a lista de notas antes de exibir para o usuário

            await App.NavigateToRoot();
        }
        public MenuHamburguer()
        {
            InitializeComponent();

            btnNotes.Clicked += async(sender, e) => {
                if (UsuarioViewModel.Atual.Id > 0)
                {
                    await App.NavigateToRoot();
                }
                else
                {
                    await DisplayAlert("Aviso", "É necessário estar logado para realizar esta ação.", "Ok");
                }
            };

            btnShare.Clicked += async(sender, e) => {
                //TODO: Compartilhar algo (logo do app talvez)
            };

            btnDelete.Clicked += async(sender, e) => {
                if (UsuarioViewModel.Atual.Id > 0)
                {
                    // Exclui todas as notas do usuario logado
                    bool apagar = await DisplayAlert("Confrmar", "Você tem certeza que deseja apagar todas as suas notas?", "Sim", "Não");

                    if (apagar)
                    {
                        await NoteViewModel.DeleteByUser(UsuarioViewModel.Atual.Id);
                    }
                }
                else
                {
                    await DisplayAlert("Aviso", "É necessário estar logado para realizar esta ação.", "Ok");
                }
            };

            btnAbout.Clicked += async(sender, e) => {
                await App.Navigate(new SobreView());
            };

            btnExit.Clicked += async(sender, e) => {
                UsuarioViewModel.Logout();


                ListagemNoteView rootView = ((App.Current.MainPage as MasterDetailPage).Detail as NavigationPage).RootPage as ListagemNoteView;
                rootView.RefreshListSource(); // Atualiza a lista de notas antes de exibir para o usuário

                //await App.NavigateToRoot();
            };
        }