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)); }