예제 #1
0
        public IActionResult Register(User user)
        {
            // Check initial ModelState
            if (ModelState.IsValid)
            {
                // If a User exists with provided Username
                if (dbContext.Users.Any(u => u.Username == user.Username))
                {
                    ModelState.AddModelError("Username", "Username already in use!");
                    return(View("Index"));
                }
                PasswordHasher <User> Hasher = new PasswordHasher <User>();
                user.Password = Hasher.HashPassword(user, user.Password);
                User NewUser = new User
                {
                    FirstName = user.FirstName,
                    LastName  = user.LastName,
                    Username  = user.Username,
                    Password  = user.Password,
                    ConPass   = user.Password,
                };
                dbContext.Add(NewUser);
                dbContext.SaveChanges();

                User newuser = dbContext.Users.FirstOrDefault(n => n.Username == user.Username);
                HttpContext.Session.SetInt32("UserId", newuser.UserId);
                HttpContext.Session.SetString("User", newuser.FirstName);
                return(RedirectToAction("Dashboard"));
            }
            return(View("Index"));
        }