Beispiel #1
0
        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
            });
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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());
        }
Beispiel #4
0
        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;
 }
Beispiel #6
0
 public Task <IdentityResult> UpdateAsync(CreditUnionUser currentUser)
 {
     return(_userManager.UpdateAsync(currentUser));
 }
Beispiel #7
0
 public Task <IdentityResult> ChangePasswordAsync(CreditUnionUser currentUser, string currentPassword, string newPassword)
 {
     return(_userManager.ChangePasswordAsync(currentUser, currentPassword, newPassword));
 }