Esempio n. 1
0
        async void onRegistrarUsuario(object sender, EventArgs e)
        {
            /* insertar en base de datos local el usuario */
            //validar que passwords sean correctas

            if (validatePasswords())
            {
                var user = new Credential()
                {
                    usuario = txtUser.Text,
                    clave   = txtPwd.Text
                };

                // Sign up logic goes here

                var signUpSucceeded = AreDetailsValid(user, txtPwdConfir.Text);


                if (signUpSucceeded)
                {
                    Credential credential = new Credential();
                    var        dataBase   = new Login_DataBase(App.path);
                    try{
                        credential.usuario = txtUser.Text;
                        credential.clave   = txtPwd.Text;
                        var resp = dataBase.SaveItemAsync(credential);
                        await DisplayAlert("¡Registro Exitoso!", "Se registro la cuenta con nombre de usuario: " + credential.usuario + ".", "OK");
                    }
                    catch (Exception ex) {
                        await DisplayAlert("Error", "Ocurrio una excepción: " + ex.Message, "Intentar Nuevamente");
                    }

                    var rootPage = Navigation.NavigationStack.FirstOrDefault();

                    if (rootPage != null)
                    {
                        await Application.Current.MainPage.Navigation.PopAsync();

                        //App.IsUserLoggedIn = true;
                        //App.Current.MainPage = new MainPage();

                        //Navigation.InsertPageBefore(new MainPage(), Navigation.NavigationStack.First());
                        // await Navigation.PopToRootAsync();
                    }
                }
                else
                {
                    await DisplayAlert("Registro Fallido", "Su usuario o contraseña introducidos no son validos. Modifiquelos usando caracteres o numeros sin dejar espacios en blanco.", "Intentar Nuevamente");
                }
            }
            else
            {
                await DisplayAlert("Contraseñas no coinciden", "Debe confirmar correctamente su contraseña. Debe ser igual.", "Intentar Nuevamente");
            }
        }
        async void OnLoginButtonClicked(object sender, EventArgs e)
        {
            var user = new Credential
            {
                usuario = txtUser.Text,
                clave   = txtPwd.Text
            };

            bool isvalid = false;

            var credential = new Credential();
            var database   = new Login_DataBase(App.path);

            try
            {
                App.currentUser = await database.Login(user.usuario, user.clave);

                _ = (App.currentUser != null) ? (isvalid = true) : (isvalid = false);
            }
            catch (Exception ex)
            {
                await DisplayAlert("Ocurrió Excepcion", "Ocurrió la siguiente exepción: " + ex.Message, "Entendido");

                isvalid = false;
                throw ex;
            }


            if (isvalid)
            {
                activityIndicator.Opacity   = 0;
                activityIndicator.IsEnabled = true;
                activityIndicator.IsRunning = true;
                activityIndicator.IsVisible = true;

                await img.ScaleTo(0.5, 400);

                await activityIndicator.FadeTo(1, 150);

                //img.IsVisible = false;
                await Task.Delay(100);

                App.IsUserLoggedIn = true;
                //Navigation.InsertPageBefore(new MainPage(), this);
                //await Navigation.PopAsync();
                App.Current.MainPage = new MainPage();
            }
            else
            {
                await DisplayAlert("Inicio de Sesión Fallido", "Su usuario o contraseña no coinciden, porfavor intente nuevamente.", "Intentar Nuevamente");

                txtUser.Text = string.Empty;
                txtPwd.Text  = string.Empty;
            }
        }