public async Task <ApplicationUser> RegisterNewUser(string username, string displayName, string email, string password) { this.ValidateUserPassword(password); ApplicationUser user = await authManager.FindByNameAsync(username); user = await ValidateIfUserAlreadyExists(email, user); user = this.PopulateUserData(username, displayName, email, DateTime.Now); await authManager.CreateAsync(user, password); await authManager.AddToRoleAsync(user, "RegisteredUser"); await context.SaveChangesAsync(); return(user); }