async void RegistroUsuario(int idUsuario, LoadingPage pageLoading, Entry txtClaveRegistro, Entry txtNombreCompleto, Entry txtCorreoRegistro,
                                   Entry txtNombreUsuario, Entry txtConfirmarClaveRegistro)
        {
            claveEncriptada = DataSecurity.Encrypt(txtClaveRegistro.Text, "sblw-3hn8-sqoy19");
            await data.AgregarUsuario(idUsuario, txtNombreCompleto.Text, txtCorreoRegistro.Text, txtNombreUsuario.Text, claveEncriptada);

            await PopupNavigation.RemovePageAsync(pageLoading);

            titleCorrect  = "Registro exitoso";
            detailCorrect = "Se ha registrado correctamente. Puede iniciar sesión.";
            await results.Success(titleCorrect, detailCorrect);

            txtNombreCompleto.Text         = null;
            txtNombreUsuario.Text          = null;
            txtCorreoRegistro.Text         = null;
            txtClaveRegistro.Text          = null;
            txtConfirmarClaveRegistro.Text = null;
        }
Exemple #2
0
        public async void CambiarClave(Frame frameUsuarioCambiarClave, Button btnEnviarCodigo, Entry txtUsuarioCambioClave, Entry txtNuevaClave,
                                       Entry txtConfirmarClaveNueva, Frame frameNuevaClave, Frame frameConfirmarNuevaClave, Button btnCambiarClave)
        {
            if (string.IsNullOrEmpty(txtNuevaClave.Text) || string.IsNullOrEmpty(txtConfirmarClaveNueva.Text))
            {
                frameNuevaClave.BorderColor             = Color.Red;
                txtNuevaClave.Placeholder               = "Contraseña requerida.";
                txtNuevaClave.PlaceholderColor          = Color.Red;
                frameConfirmarNuevaClave.BorderColor    = Color.Red;
                txtConfirmarClaveNueva.Placeholder      = "Confirmación requerida.";
                txtConfirmarClaveNueva.PlaceholderColor = Color.Red;
            }
            else
            {
                if (txtConfirmarClaveNueva.Text != txtNuevaClave.Text)
                {
                    titleAlert  = "Contraseñas no coinciden";
                    detailAlert = "Las contraseñas no coinciden. Intente nuevamente.";
                    await results.Alert(titleAlert, detailAlert);
                }
                else
                {
                    detailLoading = "Actualizando contraseña...";
                    LoadingPage loading = new LoadingPage(detailLoading);
                    await PopupNavigation.PushAsync(loading);

                    await Task.Delay(2500);

                    try
                    {
                        var getUsers = await data.GetUsuarios();

                        var idUsuario   = getUsers.Where(y => y.UsuarioNombre == txtUsuarioCambioClave.Text).Select(x => x.UsuarioID).FirstOrDefault();
                        var infoUsuario = await data.GetUsuario(idUsuario);

                        int    usuarioID         = infoUsuario.UsuarioID;
                        string nombreRealUsuario = infoUsuario.UsuarioNombreReal;
                        string nombreUsuario     = infoUsuario.UsuarioNombre;
                        string claveEncriptada   = DataSecurity.Encrypt(txtNuevaClave.Text, "sblw-3hn8-sqoy19");
                        string rolUsuario        = infoUsuario.UsuarioRol;
                        string correoUsuario     = infoUsuario.UsuarioCorreo;
                        string accesoUsuario     = infoUsuario.Acceso;
                        string estadoUsuario     = infoUsuario.UsuarioEstado;
                        await data.UpdateUsuario(idUsuario, nombreRealUsuario, correoUsuario, nombreUsuario, claveEncriptada, rolUsuario, accesoUsuario, estadoUsuario);

                        await PopupNavigation.RemovePageAsync(loading);

                        titleCorrect  = "Contraseña actualizada";
                        detailCorrect = "Se ha cambiado la contraseña exitosamente.";
                        await results.Success(titleCorrect, detailCorrect);

                        ReinicioControles(frameUsuarioCambiarClave, btnEnviarCodigo, frameNuevaClave, frameConfirmarNuevaClave, btnCambiarClave,
                                          txtUsuarioCambioClave);
                    }
                    catch (Exception)
                    {
                        await PopupNavigation.RemovePageAsync(loading);

                        titleError  = "Error";
                        detailError = "Ha ocurrido un error procesando el cambio de contraseña. Intente nuevamente.";
                        await results.Unsuccess(titleError, detailError);

                        ReinicioControles(frameUsuarioCambiarClave, btnEnviarCodigo, frameNuevaClave, frameConfirmarNuevaClave, btnCambiarClave,
                                          txtUsuarioCambioClave);
                    }
                }
            }
        }
Exemple #3
0
        public async Task <int> Login(Entry txtUser, Entry txtPassword, Frame frameUser, Frame framePassword)
        {
            if (string.IsNullOrEmpty(txtUser.Text) || string.IsNullOrEmpty(txtPassword.Text))
            {
                CamposNoNulos(txtUser, txtPassword, frameUser, framePassword);
            }
            else
            {
                frameUser.BorderColor     = Color.Default;
                framePassword.BorderColor = Color.Default;
                claveEncriptada           = DataSecurity.Encrypt(txtPassword.Text, "sblw-3hn8-sqoy19");
                titleCorrect  = $"¡Bienvenido(a) {txtUser.Text}!";
                detailCorrect = "Ha iniciado sesión correctamente.";
                detailLoading = "Validando credenciales...";

                LoadingPage loading = new LoadingPage(detailLoading);
                await PopupNavigation.PushAsync(loading);

                await Task.Delay(2000);

                var getUsers = await data.GetUsuarios();

                var userLogin = getUsers.Where(x => x.UsuarioNombre == txtUser.Text && x.UsuarioClave == claveEncriptada)
                                .Select(y => y.UsuarioRol).FirstOrDefault();
                nombreRealUsuario = getUsers.Where(n => n.UsuarioNombre == txtUser.Text && n.UsuarioClave == claveEncriptada)
                                    .Select(m => m.UsuarioNombreReal).FirstOrDefault();
                var estadoUsuario = getUsers.Where(y => y.UsuarioNombre == txtUser.Text && y.UsuarioClave == claveEncriptada)
                                    .Select(v => v.UsuarioEstado).FirstOrDefault();

                if (userLogin == "Administrador")
                {
                    await PopupNavigation.RemovePageAsync(loading);

                    await results.Success(titleCorrect, detailCorrect);

                    await SecureStorage.SetAsync("isLogged", "1");

                    await SecureStorage.SetAsync("nombreUsuario", nombreRealUsuario);

                    result = 1;
                }
                else if (userLogin == "Habitante")
                {
                    await PopupNavigation.RemovePageAsync(loading);

                    await results.Success(titleCorrect, detailCorrect);

                    await SecureStorage.SetAsync("isLogged", "2");

                    await SecureStorage.SetAsync("nombreUsuario", nombreRealUsuario);

                    result = 2;
                }
                else if (estadoUsuario == "Inactivo")
                {
                    await PopupNavigation.RemovePageAsync(loading);

                    titleError  = "Estado inactivo";
                    detailError = "No puede iniciar sesión debido a que se encuentra inactivo.";
                    await results.Unsuccess(titleError, detailError);
                }
                else
                {
                    await PopupNavigation.RemovePageAsync(loading);

                    titleError  = "Credenciales incorrectas";
                    detailError = "Verifique usuario y/o contraseña.";
                    await results.Unsuccess(titleError, detailError);
                }
            }
            return(result);
        }