Exemplo n.º 1
0
        public ActionResult <UsersReadDto> CreateUser(UsersCreateDto usersCreateDto)
        {
            var userModel = _mapper.Map <Users>(usersCreateDto);

            _repository.CreateUser(userModel);
            _repository.SaveChanges();

            var userReadDto = _mapper.Map <UsersReadDto>(userModel);

            return(CreatedAtRoute(nameof(GetUserById), new { Id = userReadDto.Id }, userReadDto));
        }
Exemplo n.º 2
0
        public async Task <IActionResult> CreateUser([FromForm] string username)
        {
            var user = await _repo.GetUserByUsername(username);

            if (user == null)
            {
                user = new User()
                {
                    Username = username
                };
                await _repo.CreateUser(user);
            }
            ;

            return(Ok(user));
        }
Exemplo n.º 3
0
        public async Task <string> CreateUserAsync(User newUser)
        {
            bool isEmailInUse = await usersRepo.IsTheEmailUsed(newUser.Email);

            if (isEmailInUse)
            {
                return("The email is already taken");
            }
            else
            {
                newUser.Password = HashingPassword(newUser.Password);

                await usersRepo.CreateUser(newUser);

                return(null);
            }
        }
Exemplo n.º 4
0
        [ProducesResponseType(typeof(UserCreateDto), 201)] // removes the default 200 response code
        public ActionResult <UserReadDto> CreateNewUser(UserCreateDto userCreateDto)
        {
            if (_usersRepo.GetUserByEmailOrUsername(userCreateDto.Email, userCreateDto.Username) != null)
            {
                var response = new Dictionary <string, string>
                {
                    ["Status"] = "400", ["Error"] = "Username or email is already taken."
                };
                return(BadRequest(response));
            }

            var user = _mapper.Map <User>(userCreateDto);

            _usersRepo.CreateUser(user);
            _usersRepo.SaveChanges();

            return(CreatedAtRoute(nameof(GetUserById), new { user.Id }, _mapper.Map <UserReadDto>(user)));
        }