public async Task <UserRegisteredDto> RegisterUserAsync(UserRegisterDto userRegisterDto) { var existingUser = await this._userManager.FindByEmailAsync(userRegisterDto.Email); if (existingUser != null) { return(new UserRegisteredDto { Succeeded = false, Error = AccountServiceConstants.UserWithMailExist, }); } var newUser = _mapper.Map <User>(userRegisterDto); var createdUser = await this._userManager.CreateAsync(newUser, userRegisterDto.Password); var returnedUser = new UserRegisteredDto { Succeeded = createdUser.Succeeded }; if (!createdUser.Succeeded) { returnedUser.Error = string.Join(" ", createdUser.Errors.Select(x => x.Description)); returnedUser.User = _mapper.Map <UserDto>(newUser); return(returnedUser); } await _userManager.AddToRoleAsync(newUser, Roles.User); returnedUser.User = _mapper.Map <UserDto>(newUser); returnedUser.User.Roles = await _userManager.GetRolesAsync(newUser); return(returnedUser); }
public async Task <ActionResult <UserDto> > RegisteredAccount([FromBody] UserRegisteredDto userRegisteredDto) { var user = mapper.Map <User>(userRegisteredDto); var result = await userService.RegisteredUser(user); var returnDto = mapper.Map <UserDto>(user); if (result == true) { await userService.SaveAsync(); return(CreatedAtRoute(nameof(GetUserInfo), new { userId = user.Id }, returnDto)); } return(BadRequest(returnDto)); }
public bool TryRegisterUser(UserRegisterDto userRegisterDto, out UserRegisteredDto userRegisteredDto) { userRegisteredDto = null; if (!IsUserExist(userRegisterDto)) { var user = mapper.Map <User>(userRegisterDto); userRepository.Insert(user); unitOfWork.Save(); userRegisteredDto = mapper.Map <UserRegisteredDto>(user); return(true); } return(false); }