public ActionResult Register(RegisterModel model)
        {
            if (ModelState.IsValid) {
                // Attempt to register the user
                try {
                    WebSecurity.CreateUserAndAccount(model.UserName, model.Password);
                    WebSecurity.Login(model.UserName, model.Password);
                    return RedirectToAction("Index", "Home");
                } catch (MembershipCreateUserException e) {
                    ModelState.AddModelError("", ErrorCodeToString(e.StatusCode));
                }
            }

            // If we got this far, something failed, redisplay form
            return View(model);
        }
Ejemplo n.º 2
0
        public async Task<ActionResult> Register(RegisterModel model)
        {
            var allUser = DBManager.GetAllUsers();
            foreach (var item in allUser)
            {
                if (item.Name.Equals(model.UserName, StringComparison.InvariantCultureIgnoreCase))
                {
                    ModelState.AddModelError("nameError","Ilyen nevű felhasználó már létezik");
                }
            }
            if (ModelState.IsValid)
            {
                try
                {
                    DBManager.AddUser(model.UserName, Encoder.Encode(model.Password), 0, model.Email, 0);
                    var body = "<p>Kedves {0}!</p><p>Köszönjük, hogy regisztráltál a Grafilogika játékunkra! Az alábbi linkre kattintva érvényesítheted e-mail címed, és kezdheted a játékot!</p><p>{1}</p>";
                    var message = new MailMessage();
                    message.To.Add(new MailAddress(model.Email));
                    message.Subject = "Grafilogika Email cím érvényesítése";
                    string urlBase = Request.Url.GetLeftPart(UriPartial.Authority) + Request.ApplicationPath;
                    string verifyUrl = "/Home/Verify?Name=" + model.UserName.ToString();
                    string fullPath = urlBase + verifyUrl;
                    message.Body = string.Format(body, model.UserName, fullPath);
                    message.IsBodyHtml = true;
                    using (var smtp = new SmtpClient())
                    {
                        await smtp.SendMailAsync(message);
                        return RedirectToAction("VerificationSent", "Home");
                    }
                }
                catch (MembershipCreateUserException e)
                {
                    ModelState.AddModelError("", e.StatusCode.ToString());
                }
            }

            return View(model);
        }