Example #1
0
        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));
        }
Example #2
0
        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));
        }