public IActionResult LoginUser(RegLoginUser user) { if (ModelState.IsValid) { User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == user.LoginUser.Email); if (userInDb == null) { ModelState.AddModelError("LoginUser.Email", "Invalid Email Addreess"); return(View("Index", user)); } PasswordHasher <LoginUser> hasher = new PasswordHasher <LoginUser>(); PasswordVerificationResult result = hasher.VerifyHashedPassword(user.LoginUser, userInDb.Password, user.LoginUser.Password); if (result == 0) { ModelState.AddModelError("LoginUser.Password", "Passowrd doesn't match the given Email Addess"); return(View("Index", user)); } else { // int? userID = HttpContext.Session.GetInt32("LoggedUser"); // if(userID == null){ HttpContext.Session.SetInt32("LoggedUser", userInDb.UserId); // } return(RedirectToAction("Home")); } } return(View("Index", user)); }
public IActionResult RegisterUser(RegLoginUser newUser) { if (ModelState.IsValid) { if (dbContext.Users.Any(u => u.Email == newUser.RegUser.Email)) { ModelState.AddModelError("RegUser.Email", "Email Address should be unique"); return(View("Index", newUser)); } else { PasswordHasher <User> hasher = new PasswordHasher <User>(); newUser.RegUser.Password = hasher.HashPassword(newUser.RegUser, newUser.RegUser.Password); dbContext.Add(newUser.RegUser); dbContext.SaveChanges(); //Log the user by adding to Session // User userInDb = dbContext.Users.FirstOrDefault(u => u.Email == newUser.RegUser.Email); // int? userID = HttpContext.Session.GetInt32("LoggedUser"); // if(userID == null){ HttpContext.Session.SetInt32("LoggedUser", newUser.RegUser.UserId); // } return(RedirectToAction("Home")); } } return(View("Index", newUser)); }