protected void BtnRecordar_Click(object sender, DirectEventArgs e) { try { int IdPersona = NumInt.Init(txtIdPersona.Text); co_tg_personas persona = new bf_tg_personas().GetData(IdPersona); IList<co_ca_usuarios> listUsuario = new bf_ca_usuarios().GetData(new co_ca_usuarios { id_persona = { id = IdPersona } }); if (listUsuario.Any()) { co_ca_usuarios usuario = listUsuario.FirstOrDefault(); if (usuario != null) { string asunto = Constantes.ASUNTO_RC; string cuerpo = Constantes.CUERPO_RC; string password = new GeneradorPassword(8, 50, 10, 40).GetNewPassword(); string passwordEncriptada = new Security().Encrypt(password); usuario.us_password = passwordEncriptada; usuario.us_fechaexpiracion.Fecha = DateTime.Now.AddMinutes(Constantes.ACC_TIEMPO_TOKEN); usuario.us_cambioPassword = TiposBases.EstadoRegistro.ACT; new bf_ca_usuarios().Save(usuario); cuerpo = string.Format(cuerpo, persona.pe_nombrecompleto, usuario.us_consuser, password); List<MailAddress> listDestinatarios = new List<MailAddress>(); listDestinatarios.Add(new MailAddress(persona.pe_email,persona.pe_nombrecompleto)); if (Mailer.Enviar(asunto, cuerpo, listDestinatarios)) { Mensajes.Show("Mensaje", "Se a Enviado su nueva Contraseña al Correo Ingresado", "window.location.href='Default.aspx'", MessageBox.Icon.INFO); } } } } catch (Exception ex) { Mensajes.Error(ex.Message); } }
/// <summary> /// Constructor. La contraseña tendrá 8 caracteres, incluyendo una letra mayúscula, /// un número y un símbolo /// </summary> public static string GetPassword() { // Se crea un método estático para facilitar el uso GeneradorPassword gp = new GeneradorPassword(); return gp.GetNewPassword(); }