public async Task <IActionResult> RegisterAsync(UserRegisterationInputModel model) { var userByEmail = await _userRepository.GetUserByEmailAsync(model.Email); if (userByEmail != null) { return(BadRequest()); } var user = Core.User.User.New(model.FirstName, model.LastName, model.Email); await _userRepository.RegisterAsync(user, model.Password); return(Ok(user.Id)); }
public async Task <IActionResult> RegisterUserAsync([FromBody] UserRegisterationInputModel model) { if (!ModelState.IsValid) { return(BadRequest(new ApiError(400, HttpStatusCode.BadRequest.ToString(), "Your Data isn't valid."))); } var userByEmail = await _userRepository.GetUserByEmailAsync(model.Email); if (userByEmail != null) { return(BadRequest(new ApiError(400, HttpStatusCode.BadRequest.ToString(), "Email is already exist."))); } var user = Domain.User.User.New(model.FullName, model.Email, model.PhotoUrl); await _userRepository.RegisterAsync(user, model.password); var userOutputModel = Mapper.Map <UserOutputModel>(user); userOutputModel.Token = GenerateToken(user); return(Ok(userOutputModel)); }