public IActionResult SignIn(SignInViewModel model) { if (ModelState.IsValid) { TacoStoreUser 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 does not exist"); } } return(View()); }
public IActionResult Register(RegisterViewModel model) { if (ModelState.IsValid) { TacoStoreUser newUser = new TacoStoreUser { UserName = model.UserName, Email = model.Email, FirstName = model.FirstName, LastName = model.LastName, PhoneNumber = model.PhoneNumber }; 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()); }