public async Task <RegisterResult> RegisterUser(RegisterModel model) { var newUser = new User { UserName = model.Username, Email = model.Email }; if (await EmailAlreadyInUse(model.Email)) { return(AlreadyInUseResult(model)); } var result = await _userManager.CreateAsync(newUser, model.Password); if (!result.Succeeded) { return(result.ConvertIdentityResultToResult <RegisterResult>()); } var token = await _userManager.GenerateEmailConfirmationTokenAsync(newUser); var registerResult = ResultBase.SuccessfulResult <RegisterResult>(); registerResult.Token = token; registerResult.UserEmail = newUser.Email; registerResult.UserId = newUser.Id; return(registerResult); }
public async Task <EditUserResult> EditUser(ProfileModel model) { User user = await ProfileModelToUser(model); var passwordChangeResult = await _userManager.ChangePasswordAsync(user, model.OldPassword, model.Password); if (!passwordChangeResult.Succeeded) { return(passwordChangeResult.ConvertIdentityResultToResult <EditUserResult>()); } var userUpdateResult = await _userManager.UpdateAsync(user); if (!userUpdateResult.Succeeded) { return(userUpdateResult.ConvertIdentityResultToResult <EditUserResult>()); } return(ResultBase.SuccessfulResult <EditUserResult>()); }