Ejemplo n.º 1
0
        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));
            }
        }