public async Task <IActionResult> Register(DtoUserForRegister DtoUserForRegister) { //validation // if (!ModelState.IsValid) // return BadRequest(ModelState); DtoUserForRegister.username = DtoUserForRegister.username.ToLower(); if (await _authRepository.IsUserExists(DtoUserForRegister.username)) { return(BadRequest("Username already taken")); } var user = await _authRepository.Register(new Models.User { Username = DtoUserForRegister.username }, DtoUserForRegister.password); return(StatusCode(201)); }
public async Task <IActionResult> Register(DtoUserForRegister userForRegister) { userForRegister.Username = userForRegister.Username.ToLower(); if (await _repo.UserExist(userForRegister.Username)) { return(BadRequest("Username already exist!")); } var userToCreate = _mapper.Map <User>(userForRegister); var createdUser = await _repo.Register(userToCreate, userForRegister.Password); var returningUser = _mapper.Map <UserForDetailedDto>(createdUser); //when you insert a new data, it's good to create a CreatedToute. return(CreatedAtRoute("GetUser", new { controller = "Users", id = createdUser.Id }, returningUser)); }