public async Task <CreateMemberRequestResult> CreateAsync(CreateMemberRequest request) { var member = new Member { City = request.City, FirstName = request.FirstName, LastName = request.LastName, State = request.State, Street = request.Street, ZipCode = request.ZipCode }; var user = new CreditUnionUser { Email = request.Email, LockoutEnabled = true, UserName = request.Email, Member = member }; IdentityResult result = await _userManager.CreateAsync(user, request.Password); if (!result.Succeeded) { return(new CreateMemberRequestResult { Errors = result.Errors.Select(s => s.Description).ToList() }); } return(new CreateMemberRequestResult { Member = member }); }
public async Task <IdentityResult> UpdateContactInformation(CreditUnionUser currentUser, UpdateUserRequest request) { if (currentUser.Email != request.Email) { // TODO: do we want to confirm the email first? var result = await _userManager.SetEmailAsync(currentUser, request.Email); if (!result.Succeeded) { return(result); } } if (currentUser.PhoneNumber != request.PhoneNumber) { // TODO: do we want to confirm their Phone # first? Do we even want Phone # in this app? var result = await _userManager.SetPhoneNumberAsync(currentUser, request.PhoneNumber); if (!result.Succeeded) { return(result); } } return(IdentityResult.Success); }
public async Task <IActionResult> Put([FromBody] UpdateUserRequest request) { CreditUnionUser currentUser = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User); IdentityResult result = await _userManager.UpdateContactInformation(currentUser, request); if (!result.Succeeded) { ModelState.AddIdentityErrorsToModelState(result); return(BadRequest(ModelState)); } return(Ok()); }
public async Task <IActionResult> ChangePassword([FromBody] ChangePasswordRequest request) { CreditUnionUser currentUser = await _userManager.GetUserAsync(_httpContextAccessor.HttpContext.User); IdentityResult result = await _userManager.ChangePasswordAsync(currentUser, request.CurrentPassword, request.NewPassword); if (!result.Succeeded) { ModelState.AddIdentityErrorsToModelState(result); return(BadRequest(ModelState)); } return(Ok()); }
public CheckPasswordResult(SignInResult result, CreditUnionUser user) { Result = result; User = user; }
public Task <IdentityResult> UpdateAsync(CreditUnionUser currentUser) { return(_userManager.UpdateAsync(currentUser)); }
public Task <IdentityResult> ChangePasswordAsync(CreditUnionUser currentUser, string currentPassword, string newPassword) { return(_userManager.ChangePasswordAsync(currentUser, currentPassword, newPassword)); }