Exemplo n.º 1
0
        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));
        }
Exemplo n.º 2
0
        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));
        }