public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto) { //Validation userForRegisterDto.Username = userForRegisterDto.Username.ToLower(); if (await _repo.UserExists(userForRegisterDto.Username)) { return(BadRequest("User all ready exist!")); } var userToCreated = _mapper.Map <User>(userForRegisterDto); // var userToCreated = new User // { // Username = userForRegisterDto.Username // }; var createdUser = await _repo.Register(userToCreated, userForRegisterDto.Password); var userToReturn = _mapper.Map <UserForDetailedDto>(createdUser); return(CreatedAtRoute("GetUser", new { Controller = "Users", id = createdUser.Id }, userToReturn)); }
public async Task <IActionResult> Register([FromBody] RegisterDto userDto) { userDto.UserName = userDto.UserName.ToLower(); if (await _repo.UserExist(userDto.UserName)) { ModelState.AddModelError("userName", "Username is already taken"); } if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var userToCreate = _mapper.Map <User>(userDto); var createUser = await _repo.Register(userToCreate, userDto.Password); var userToReturn = _mapper.Map <UserForDetailDTO>(createUser); // return StatusCode(201); return(CreatedAtRoute("GetUser", new { Controller = "Users", id = createUser.Id }, userToReturn)); }