public IDataResult <User> Register(UserForRegisterDto userForRegisterDto) { var userAlreadyExistsCheck = BusinessRules.Run(CheckIfUserAlreadyExists(userForRegisterDto.Email)); if (userAlreadyExistsCheck != null) { return(new ErrorDataResult <User>(userAlreadyExistsCheck.Message)); } byte[] passwordHash, passwordSalt; HashingHelper.CreatePasswordHash(userForRegisterDto.Password, out passwordHash, out passwordSalt); var user = new User { Email = userForRegisterDto.Email, FirstName = userForRegisterDto.FirstName, LastName = userForRegisterDto.LastName, PasswordHash = passwordHash, PasswordSalt = passwordSalt, Status = true }; var result = _userService.Add(user); if (!result.Success) { return(new ErrorDataResult <User>(Messages.UserInsertionError)); } var getUser = _userService.GetByEMail(user.Email).Data; _userOperationClaimService.AddDefaultClaim(getUser.Id); return(new SuccessDataResult <User>(user, Messages.RegistirationSuccessful)); }