public IActionResult CrearCuenta(CuentaViewModel vm) { // LO AGREGO A LA BD PERO CON EL CAMPO ACTIVO EN FALSO. try { if (vm.ConfirmarContraseña == vm.Usuario.Contrasena) { Repository repos = new Repository(context); var hashContraseña = HashingHelper.GetHash(vm.Usuario.Contrasena); vm.Usuario.Contrasena = hashContraseña; var codigo = GenerarCodigoHelper.GenerarCodigo(); vm.Usuario.Codigo = codigo; repos.Insert(vm.Usuario); // MANDO EL CORREO CON UN CODIGO GENERADO RANDOM. MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Sistemas171"); message.To.Add(vm.Usuario.Correo); message.Subject = "Confirmación de Registro"; message.Body = $"¡Bienvenido a Sistemas171!<br/> Introduzca el siguiente codigo en la ventana de confirmación para activar su cuenta: {codigo}"; message.IsBodyHtml = true; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "correofake1"); client.Send(message); return(RedirectToAction("ValidarCodigo", "Home", new { Id = vm.Usuario.Id })); } else { ModelState.AddModelError("", "Las contraseñas no coiniciden."); return(View(vm)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(vm)); } }
public IActionResult RecuperarContraseña(Usuario u) { Repository repos = new Repository(context); try { if (u.Correo != null) { var original = repos.GetUsuarioByCorreo(u.Correo); var codigo = GenerarCodigoHelper.GenerarCodigo(); original.Codigo = codigo; repos.Update(original); // MANDO EL CORREO CON UN CODIGO GENERADO RANDOM. MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Sistemas171"); message.To.Add(original.Correo); message.Subject = "Recuperación de Contraseña"; message.Body = $"Hemos recibido su solicitud para cambiar su contraseña.<br/> Introduzca el siguiente codigo en la ventana de confirmación para modificar su contraseña: {codigo}"; message.IsBodyHtml = true; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "correofake1"); client.Send(message); return(RedirectToAction("ValidarCodigo", "Home", new { id = original.Id })); } else { ModelState.AddModelError("", "Introduzca el correo."); return(View(u)); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(u)); } }