コード例 #1
0
        public IActionResult Registrar(Usuario usuario, string contra1, string contra2)
        {
            ctrlusersContext            context = new ctrlusersContext();
            UsuarioRepository <Usuario> repos   = new UsuarioRepository <Usuario>(context);

            try
            {
                if (context.Usuario.Any(x => x.Correo == usuario.Correo))
                {
                    ModelState.AddModelError("", "Ya hay un usuario registrado con este correo");
                    return(View(usuario));
                }
                else
                {
                    if (contra1 == contra2)
                    {
                        usuario.Contra = HashHelper.GetHash(contra1);
                        usuario.Codigo = CodeHelper.GetCode();
                        usuario.Activo = 0;
                        repos.Agregar(usuario);
                        MailMessage mensaje = new MailMessage();
                        mensaje.From = new MailAddress("*****@*****.**", "VLIVE");
                        mensaje.To.Add(usuario.Correo);
                        mensaje.Subject = "Confirma tu cuenta de VLIVE";
                        string text = System.IO.File.ReadAllText(Environment.WebRootPath + "/ConfirmarCorreo.html");
                        mensaje.Body       = text.Replace("{##codigo##}", usuario.Codigo.ToString());
                        mensaje.IsBodyHtml = true;

                        SmtpClient cliente = new SmtpClient("smtp.gmail.com", 587);
                        cliente.EnableSsl             = true;
                        cliente.UseDefaultCredentials = false;
                        cliente.Credentials           = new NetworkCredential("*****@*****.**", "sistemas7g");
                        cliente.Send(mensaje);
                        return(RedirectToAction("ActivarCuenta"));
                    }
                    else
                    {
                        ModelState.AddModelError("", "Las contraseñas no coinciden");
                        return(View(usuario));
                    }
                }
            }
            catch (Exception ex)
            {
                ModelState.AddModelError("", ex.Message);
                return(View(usuario));
            }
        }