public async Task <IActionResult> Register(UserForRegisterDto userForRegisterDto) { userForRegisterDto.Username = userForRegisterDto.Username.ToLower(); if (await _repo.IsUserExists(userForRegisterDto.Username)) { return(BadRequest("Username already exist.")); } User user = _mapper.Map <User>(userForRegisterDto); var createdUser = await _repo.Register(user, userForRegisterDto.Password); var userToReturn = _mapper.Map <UserForDetailedDto>(createdUser); return(CreatedAtRoute("GetUser", new { controller = "Users", id = createdUser.Id }, userToReturn)); }