public IActionResult Registro(MarcaAfiliada us, string contra, string confcontra) { sistem14_ropa_mexicanaContext Context = new sistem14_ropa_mexicanaContext(); Repository <MarcaAfiliada> repos = new Repository <MarcaAfiliada>(Context); try { if (Context.MarcaAfiliada.Any(x => x.Correo == us.Correo)) { ModelState.AddModelError("", "Este correo se encuentra registrado"); return(View(us)); } else { if (contra == confcontra) { us.Contrasena = HashingHelper.GetHash(contra); us.ClaveAct = ClaveHelper.ClaveActivacion(); us.Activo = 0; repos.Insert(us); MailMessage message = new MailMessage(); message.From = new MailAddress("*****@*****.**", "Ropa Mexicana"); message.To.Add(us.Correo); message.Subject = "Correo de activación envíado"; string mensaje = System.IO.File.ReadAllText(Environment.WebRootPath + "/Clave.html"); message.Body = mensaje.Replace("##Clave##", us.ClaveAct.ToString()); message.IsBodyHtml = true; SmtpClient client = new SmtpClient("smtp.gmail.com", 587); client.EnableSsl = true; client.UseDefaultCredentials = false; client.Credentials = new NetworkCredential("*****@*****.**", "sistemas7g"); client.Send(message); return(RedirectToAction("ActivacionDeCuenta")); } else { ModelState.AddModelError("", "Las contraseñas no coinciden"); return(View(us)); } } } catch (Exception ex) { ModelState.AddModelError("", ex.Message); return(View(us)); } }
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)); } }