示例#1
0
        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");
            }
        }
示例#2
0
        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");
            }
        }