public IActionResult Register(RegisterViewModel rvm) { if (ModelState.IsValid && !userDAL.DoesEmailAlreadyExist(rvm.Email)) { // Register them as a new user (and set default role in db schema) // When a user registeres they need to be given a role. If you don't need anything special // just give them "User". if (authProvider.Register(rvm.DisplayName, rvm.Email, rvm.Password, role: "User") == false) { return(StatusCode(500)); } emailProvider.Welcome(userDAL.GetUser(rvm.Email)); // Redirect the user where you want them to go after registering return(StatusCode(200, authProvider.ApiSignIn(rvm.Email, rvm.Password))); } return(StatusCode(422, rvm)); }
public bool Register(string displayName, string email, string password, string role) { if (usersDAL.DoesEmailAlreadyExist(email)) { return(false); } var hashProvider = new HashProvider(); var passwordHash = hashProvider.HashPassword(password); var user = new User { DisplayName = displayName, Email = email, Password = passwordHash.Password, Salt = passwordHash.Salt, Role = role }; bool result = usersDAL.CreateUser(user); return(result); }