public async Task AnyAsync_ClaimMappingsDoNotExist_ReturnsFalse(ClaimMappingSearchCriteria criteria) { (var modixContext, var uut) = BuildTestContext(); var result = await uut.AnyAsync(criteria); result.ShouldBeFalse(); }
public async Task SearchBriefsAsync_ClaimMappingsDoNotExist_ReturnsEmpty(ClaimMappingSearchCriteria criteria) { (var modixContext, var uut) = BuildTestContext(); var result = await uut.SearchBriefsAsync(criteria); result.ShouldNotBeNull(); result.ShouldBeEmpty(); }
public async Task SearchIdsAsync_ClaimMappingsExist_ReturnsMatchingIds(ClaimMappingSearchCriteria criteria, long[] resultIds) { (var modixContext, var uut) = BuildTestContext(); var result = await uut.SearchIdsAsync(criteria); result.ShouldNotBeNull(); result.ShouldBe(resultIds); }
public async Task SearchBriefsAsync_ClaimMappingsExist_ReturnsMatchingBriefs(ClaimMappingSearchCriteria criteria, long[] resultIds) { (var modixContext, var uut) = BuildTestContext(); var result = await uut.SearchBriefsAsync(criteria); result.ShouldNotBeNull(); result.Select(x => x.Id).ShouldBe(resultIds); result.EachShould(x => x.ShouldMatchTestData()); }
private async Task <int> RescindClaimMappingsUnauthorized(ClaimMappingSearchCriteria criteria, ulong rescindedById) { var claimMappingIds = await ClaimMappingRepository.SearchIdsAsync(criteria); foreach (var claimMappingId in claimMappingIds) { await ClaimMappingRepository.TryRescindAsync(claimMappingId, rescindedById); } return(claimMappingIds.Count); }
/// <inheritdoc /> public async Task <IReadOnlyCollection <ClaimMappingBrief> > SearchBriefsAsync(ClaimMappingSearchCriteria criteria) => await ModixContext.ClaimMappings.AsNoTracking() .FilterBy(criteria) .AsExpandable() .Select(ClaimMappingBrief.FromEntityProjection) .ToArrayAsync();
/// <inheritdoc /> public async Task <IReadOnlyCollection <long> > SearchIdsAsync(ClaimMappingSearchCriteria criteria) => await ModixContext.ClaimMappings.AsNoTracking() .FilterBy(criteria) .Select(x => x.Id) .ToArrayAsync();
/// <inheritdoc /> public Task <bool> AnyAsync(ClaimMappingSearchCriteria criteria) => ModixContext.ClaimMappings.AsNoTracking() .FilterBy(criteria) .AnyAsync();
internal static IQueryable <ClaimMappingEntity> FilterClaimMappingsBy(this IQueryable <ClaimMappingEntity> query, ClaimMappingSearchCriteria criteria) { var longGuildId = (long?)criteria?.GuildId; var longRoleIds = criteria?.RoleIds?.Select(x => (long)x).ToArray(); var longUserId = (long?)criteria?.UserId; var longCreatedById = (long?)criteria?.CreatedById; var anyRoleIds = longRoleIds?.Any() ?? false; return(query .FilterBy( x => criteria.Types.Contains(x.Type), criteria?.Types?.Any() ?? false) .FilterBy( x => x.GuildId == longGuildId, longGuildId != null) .FilterBy( x => longRoleIds.Contains(x.RoleId.Value) || (x.UserId == longUserId), anyRoleIds && (longUserId != null)) .FilterBy( x => longRoleIds.Contains(x.RoleId.Value), anyRoleIds && (longUserId == null)) .FilterBy( x => (x.UserId == longUserId), !anyRoleIds && (longUserId != null)) .FilterBy( x => criteria.Claims.Contains(x.Claim), criteria?.Claims?.Any() ?? false) .FilterBy( x => x.CreateAction.Created >= criteria.CreatedRange.Value.From.Value, criteria?.CreatedRange?.From != null) .FilterBy( x => x.CreateAction.Created <= criteria.CreatedRange.Value.To.Value, criteria?.CreatedRange?.To != null) .FilterBy( x => x.CreateAction.CreatedById == longCreatedById, longCreatedById != null) .FilterBy( x => (x.DeleteActionId != null) == criteria.IsDeleted.Value, criteria?.IsDeleted != null)); }