예제 #1
0
 public void MapFinishRegistrationAndConfirmAccountToApplicationUser(FinishRegistrationAndConfirmAccountAccountView viewModel, Client model)
 {
     model.FirstName   = viewModel.FirstName;
     model.LastName    = viewModel.LastName;
     model.MiddleName  = viewModel.MiddleName;
     model.BirthDate   = viewModel.BirthDate;
     model.PhoneNumber = viewModel.PhoneNumber;
     model.AddressLine = viewModel.AddressLine;
 }
예제 #2
0
        public async Task <IdentityResult> FinishRegistrationAndConfirmAccount(FinishRegistrationAndConfirmAccountAccountView viewModel)
        {
            var result = new IdentityResult();

            if (viewModel.UserId is null || viewModel.Token is null)
            {
                throw new AccountException("Error finishing registration.");
            }

            ApplicationUser user = await _userManager.FindByIdAsync(viewModel.UserId);

            if (user is null)
            {
                throw new AccountException("User not found.");
            }

            if (user.EmailConfirmed)
            {
                result = IdentityResult.Success;

                return(result);
            }

            _accountMapper.MapFinishRegistrationAndConfirmAccountToApplicationUser(viewModel, user as Student);

            IdentityResult updateResult = await _userManager.UpdateAsync(user);

            if (!updateResult.Succeeded)
            {
                throw new AccountException("Error updating user.");
            }

            result = await _userManager.ConfirmEmailAsync(user, viewModel.Token);

            return(result);
        }
예제 #3
0
        public async Task <IActionResult> FinishRegistrationAndConfirmAccount([FromForm] FinishRegistrationAndConfirmAccountAccountView viewModel)
        {
            IdentityResult result = await _accountService.FinishRegistrationAndConfirmAccount(viewModel);

            return(RedirectToAction("LogIn", "Account"));
        }