public virtual async Task AddClaimsAsync(TUser user, IEnumerable <Claim> claims, CancellationToken cancellationToken) { ThrowIfDisposed(); Guard.ArgumentNotNull(user, nameof(user)); Guard.ArgumentNotNull(claims, nameof(claims)); if (claims.Any()) { using (DbTransactionScope scope = new DbTransactionScope()) { var ucArray = claims.Select(c => { UserClaim uc = new UserClaim(); uc.Id = _idGenerationService.GenerateId(); uc.UserId = user.Id; uc.InitializeFromClaim(c); return(uc); }).ToArray(); foreach (var u in ucArray) { await _userClaimRepository.InsertAsync(u); } scope.Complete(); } } }
protected override UserClaim CreateUserClaim(User user, Claim claim) { var userClaim = new UserClaim { UserId = user.Id }; userClaim.InitializeFromClaim(claim); return(userClaim); }