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; }
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); } } } }
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); }