protected void btnConfirmarCodigo_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(txtEmail.Text)) { mostrarToast("Email vacío", "Ingrese su email", "Warning"); return; } if (string.IsNullOrEmpty(txtCodigo.Text)) { mostrarToast("Código vacío", "Ingrese el código para confirmar la autorización de cambio de contraseña", "Warning", 5000); return; } TBLUSUARIOS usu = new TBLUSUARIOS(); TBLCODRECUPERACION cod = new TBLCODRECUPERACION(); try { usu = LogicaUsuarios.buscarCorreoExistente(txtEmail.Text); cod = LogicaCodigos.ultimoCodigo(usu.ID_USUARIO, txtCodigo.Text); cambiarImagen(usu.FOTO_PATH_USUARIO); Session["contrseniaUsuario"] = usu.PASS_USUARIO; Session["usuarioRecuperar"] = usu; } catch (Exception ex) { throw new ArgumentException("error al recuperar informacion: </br> " + ex.Message); } if (usu != null) { if (cod != null) { if (cod.CODIGO_RECUPERACION == txtCodigo.Text) { mostrarToast("Codigo Correcto", "Ingrese una nueva contraseña para su usuario. Siga las politicas de seguridad para su nueva contraseña. NO INGRESE LA MISMA CONTRASEÑA ANTERIOR!", "Info", 10000); pnConfirmarCorreo.Visible = false; pnCambiarContrasenia.Visible = true; } else { mostrarToast("Codigo Incorrecto", "El código ingresado no es el correcto, copie sin espacios el código e ingreselo nuevamente. Si persiste el error consulte con el administrador.", "Error", 8000); } } else { mostrarToast("Error en Codigo", "Error en codigo, esta vacio", "Error"); mostrarToast("Error en Codigo", "Error en codigo, esta vacio", "Error"); } } else { mostrarToast("Error en Usuario", "Error en Usuario por correo, no encontrado", "Error"); } }
protected async void btnRecuperarContrasenia_Click(object sender, EventArgs e) { if (!string.IsNullOrEmpty(txtEmail.Text)) { TBLUSUARIOS usuXCorreo = LogicaUsuarios.buscarCorreoExistente(txtEmail.Text); bool existeCorreo = !usuXCorreo.EMAIL_USUARIO.Equals(""); if (existeCorreo) { string codigo = GenerateNewRandom(); LogicaCodigos.guardarCodigo(usuXCorreo.ID_USUARIO, codigo); LogicaUsuarios.cambiarEstadoRecuperacion(usuXCorreo); string subject = "Recuperación de contraseña"; string htmlString = @" <html> <body> <h3>Estimad@ " + usuXCorreo.NOMBRE_USUARIO + @"</h3> <p><i>Pasos para la recuperación de contraseña</i></p> <p>Tu usuario es: <b style='font-size: 20px;'>" + usuXCorreo.USU_USUARIO + @"</b></p> <p>Ingresa el siguiente codigo: </p> </br> <code style='font-size: 20px;'>" + codigo.ToString() + @"</code > </br> <p>El código deberás ingresarlo en el siguiente enlace: </p> </br> <a href = 'https://localhost:44305/loginTemplates/RecuperarPage.aspx' target = '_blank'>https://localhost:44305/loginTemplates/RecuperarPage.aspx</a> </br> <p>En caso de no poder ingresar a la direcion, ingrese al Login del sistema e ingrese su usuario y cualquier contraseña. Le redireccionará automaticamente a la recuperacion de contraseña.</p> </body> </html>" ; EmailProvider ep = new EmailProvider(subject, htmlString, txtEmail.Text); await ep.SendEmailAsync(); mostrarToast("Correo Enviado", "El correo ha sido enviado a: " + txtEmail.Text + ". Revise su correo y siga las instrucciones para recuperar sus credenciales.", "Success", 6000); Limpiar(); } else { mostrarToast("Correo Inexistente", "El correo provisto no está registrado", "Error"); } } else { mostrarToast("Error", "Esta vacio", "Error"); } }