public async Task <IActionResult> CreateUser([FromBody] CreateUserViewModel createUserViewModel)
        {
            if (!_roleService.Exist(createUserViewModel.RoleId) || !_affiliateService.Exist(createUserViewModel.AffiliateId))
            {
                return(NotFound());
            }

            if (_userService.GetByUsername(createUserViewModel.Email) != null)
            {
                ModelState.AddModelError(nameof(createUserViewModel.Email), "This email is already taken");
                return(BadRequest(ModelState));
            }

            if (!PasswordChecker.ValidatePassword(createUserViewModel.Password, out var message))
            {
                ModelState.AddModelError(nameof(createUserViewModel.Password), message);
                return(BadRequest(ModelState));
            }

            var userDTO = UserMapper.AddUserViewModelToDTO(createUserViewModel);

            await _userService.CreateUser(userDTO);

            return(Ok(ModelState));
        }