public IDataResult <User> Register(UserForRegisterDto userForRegisterDto, string password) { byte[] passwordHash, passwordSalt; HashingHelper.CreatePasswordHash(password, out passwordHash, out passwordSalt); var user = new AppUser { Email = userForRegisterDto.Email, FirstName = userForRegisterDto.FirstName, LastName = userForRegisterDto.LastName, PasswordHash = passwordHash, PasswordSalt = passwordSalt, Status = false, ActivationCode = Guid.NewGuid() }; _userService.Add(user); var userResult = _userService.GetByMail(user.Email) as AppUser; var customerResult = AddUserToCustomer(userResult); var operationClaims = _operationClaimService.GetClaims(); var operationClaim = operationClaims.Data.FirstOrDefault(x => x.Name == "customer"); _userOperationClaimService.AddUserOperationClaim(userResult, operationClaim); userResult.CustomerId = customerResult.Data.Id; _userService.UpdateUserCustomer(userResult); SendActivationToken(user); return(new SuccessDataResult <User>(null, Message.UserRegistered)); }