public Task AddClaimAsync(IdentityUser user, System.Security.Claims.Claim claim) { if (user == null) { throw new ArgumentNullException("user"); } if (claim == null) { throw new ArgumentNullException("claim"); } User user1 = this._userRepository.FindById(user.Id, false); if (user1 == null) { throw new ArgumentException("IdentityUser does not correspond to a User entity.", "user"); } Domain.Entities.Account.Claim claim1 = new Domain.Entities.Account.Claim() { ClaimType = claim.Type, ClaimValue = claim.Value, User = user1 }; user1.Claims.Add(claim1); this._userRepository.Update(user1); return(this._unitOfWork.CommitAsync()); }
public Task RemoveClaimAsync(IdentityUser user, System.Security.Claims.Claim claim) { if (user == null) { throw new ArgumentNullException("user"); } if (claim == null) { throw new ArgumentNullException("claim"); } User user1 = this._userRepository.FindById(user.Id, false); if (user1 == null) { throw new ArgumentException("IdentityUser does not correspond to a User entity.", "user"); } Domain.Entities.Account.Claim claim1 = user1.Claims.FirstOrDefault <Domain.Entities.Account.Claim>((Domain.Entities.Account.Claim x) => (x.ClaimType != claim.Type ? false : x.ClaimValue == claim.Value)); user1.Claims.Remove(claim1); this._userRepository.Update(user1); return(this._unitOfWork.CommitAsync()); }