public async Task <IActionResult> Register(UserRegisterDto userRegisterDto) { if (ModelState.IsValid) { var user = _mapper.Map <User>(userRegisterDto); // добавляем пользователя var result = await _userManager.CreateAsync(user, userRegisterDto.Password); if (result.Succeeded) { var currentUser = await _userManager.FindByEmailAsync(user.Email); await _userManager.AddToRoleAsync(currentUser, "User"); await _emailService.SendAsync(SeccessRegisterSettings.subject, SeccessRegisterSettings.CteateMessage(userRegisterDto), userRegisterDto.Email); // установка куки await _signInManager.SignInAsync(user, false); return(RedirectToAction("Index", "Home")); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } return(View(userRegisterDto)); }
public async Task <IActionResult> Register(UserRegisterDTO userRegisterDto) { if (ModelState.IsValid) { var checkedUser = await _userManager.FindByEmailAsync(userRegisterDto.Email); if (checkedUser != null) { return(Content("Користувач з таким email вже існує")); } byte[] cryptokey = _aesCrypto.GenerateKey(); var user = _mapper.Map <User>(userRegisterDto); user.CryptoKey = cryptokey; // добавляем пользователя var result = await _userManager.CreateAsync(user, userRegisterDto.Password); if (result.Succeeded) { var currentUser = await _userManager.FindByEmailAsync(user.Email); await _userManager.AddToRoleAsync(currentUser, "User"); await _emailService.SendAsync(SeccessRegisterSettings.subject, SeccessRegisterSettings.CteateMessage(userRegisterDto), userRegisterDto.Email); // установка куки await _signInManager.SignInAsync(user, false); return(RedirectToAction("Index", "Home")); } else { foreach (var error in result.Errors) { ModelState.AddModelError(string.Empty, error.Description); } } } return(View(userRegisterDto)); }