public IActionResult CambioDeContraseña(string correo, string contra, string confcontra) { correosusuariosContext Context = new correosusuariosContext(); UsRepository repos = new UsRepository(Context); var us = repos.GetUsByCorreo(correo); try { if (contra == confcontra) { us.Contrasena = HashinHelper.GetHash(contra); if (us.Contrasena == contra) { ModelState.AddModelError("", "La nueva contraseña debe ser distinta a la actúal"); return(View(contra)); } else { repos.Update(us); return(RedirectToAction("SesionIniciada")); } } else { ModelState.AddModelError("", "Las contraseñas no coinciden."); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(contra, confcontra)); } }
public IActionResult ActivacionDeCuenta(int clave) { correosusuariosContext Context = new correosusuariosContext(); UsRepository repos = new UsRepository(Context); var usuario = Context.Usuario.FirstOrDefault(x => x.ClaveAct == clave); if (usuario != null && usuario.Activo == 0) { var cla = usuario.ClaveAct; if (clave == cla) { usuario.Activo = 1; repos.Update(usuario); return(RedirectToAction("InicioDeSesion")); } else { ModelState.AddModelError("", "No ha introducido la clave correcta."); return(View()); } } else { ModelState.AddModelError("", "Usuario no encontrado."); return(View()); } }
public IActionResult RecuperarContraseña(string correo) { try { correosusuariosContext Context = new correosusuariosContext(); UsRepository repos = new UsRepository(Context); var us = repos.GetUsByCorreo(correo); if (us != null) { var contra = ClaveHelper.ClaveActivacion(); MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "PelisPlus"); message.To.Add(correo); message.Subject = "Se ha enviado un correo con una contraseña temporal para iniciar sesión"; message.Body = $"Esta contraseña solo sirve una única vez: {contra}"; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); us.Contrasena = HashinHelper.GetHash(contra.ToString()); repos.Update(us); return(RedirectToAction("InicioDeSesion")); } else { ModelState.AddModelError("", "Este correo no se encuentra registrado."); return(View()); } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View((object)correo)); } }