Пример #1
0
        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));
            }
        }
Пример #2
0
        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));
            }
        }