public IActionResult SignIn(SignInViewModel model) { if (ModelState.IsValid) { FruitStoreUser existingUser = _signInManager.UserManager.FindByNameAsync(model.UserName).Result; if (existingUser != null) { Microsoft.AspNetCore.Identity.SignInResult passwordResult = _signInManager.CheckPasswordSignInAsync(existingUser, model.Password, false).Result; if (passwordResult.Succeeded) { _signInManager.SignInAsync(existingUser, false).Wait(); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("PasswordIncorrect", "Username or password is incorrect"); } } else { ModelState.AddModelError("UserDoesNotExist", "Username or password is incorrect"); } } return(View()); }
public IActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { FruitStoreUser newUser = new FruitStoreUser(); IdentityResult creationResult = _signInManager.UserManager.CreateAsync(newUser).Result; if (creationResult.Succeeded) { IdentityResult passwordResult = _signInManager.UserManager.AddPasswordAsync(newUser, model.Password).Result; if (passwordResult.Succeeded) { _signInManager.SignInAsync(newUser, false).Wait(); return(RedirectToAction("Index", "Home")); } else { foreach (var error in passwordResult.Errors) { ModelState.AddModelError(error.Code, error.Description); } } } else { foreach (var error in creationResult.Errors) { ModelState.AddModelError(error.Code, error.Description); } } } return(View()); }