public ActionResult <UsersReadDto> CreateUser(UsersCreateDto usersCreateDto) { var userModel = _mapper.Map <Users>(usersCreateDto); _repository.CreateUser(userModel); _repository.SaveChanges(); var userReadDto = _mapper.Map <UsersReadDto>(userModel); return(CreatedAtRoute(nameof(GetUserById), new { Id = userReadDto.Id }, userReadDto)); }
public async Task <IActionResult> CreateUser([FromForm] string username) { var user = await _repo.GetUserByUsername(username); if (user == null) { user = new User() { Username = username }; await _repo.CreateUser(user); } ; return(Ok(user)); }
public async Task <string> CreateUserAsync(User newUser) { bool isEmailInUse = await usersRepo.IsTheEmailUsed(newUser.Email); if (isEmailInUse) { return("The email is already taken"); } else { newUser.Password = HashingPassword(newUser.Password); await usersRepo.CreateUser(newUser); return(null); } }
[ProducesResponseType(typeof(UserCreateDto), 201)] // removes the default 200 response code public ActionResult <UserReadDto> CreateNewUser(UserCreateDto userCreateDto) { if (_usersRepo.GetUserByEmailOrUsername(userCreateDto.Email, userCreateDto.Username) != null) { var response = new Dictionary <string, string> { ["Status"] = "400", ["Error"] = "Username or email is already taken." }; return(BadRequest(response)); } var user = _mapper.Map <User>(userCreateDto); _usersRepo.CreateUser(user); _usersRepo.SaveChanges(); return(CreatedAtRoute(nameof(GetUserById), new { user.Id }, _mapper.Map <UserReadDto>(user))); }