public async Task <IActionResult> Register(RegisterViewModel model) { if (ModelState.IsValid) { User user = _userMapper.MapToUserModel(model); var creationResult = await _userManager.CreateAsync(user, model.Password); if (creationResult.Succeeded) { string confirmationToken = await _userManager.GenerateEmailConfirmationTokenAsync(user); string confirmationLink = Url.Action(nameof(ConfirmEmail), "Account", new { userId = user.Id, token = confirmationToken }, "https"); await _mailSender.SendEmailConfirmationAsync(user.Email, confirmationLink); var addingToRoleResult = await _userManager.AddToRoleAsync(user, "User"); if (addingToRoleResult.Succeeded) { return(RedirectToAction(nameof(RegistratedSuccessfully))); } AddErrors(addingToRoleResult); } AddErrors(creationResult); } return(View(model)); }