コード例 #1
0
 internal static IQueryable <ClaimMappingEntity> FilterBy(this IQueryable <ClaimMappingEntity> query, ClaimMappingSearchCriteria criteria)
 => query
 .FilterBy(
コード例 #2
0
        internal static IQueryable <ClaimMappingEntity> FilterBy(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));
        }
コード例 #3
0
 internal static IQueryable <ClaimMappingEntity> FilterBy(this IQueryable <ClaimMappingEntity> query, ClaimMappingSearchCriteria criteria)
 => query
 .FilterBy(
     x => criteria.Types.Contains(x.Type),
     criteria?.Types?.Any() ?? false)
 .FilterBy(
コード例 #4
0
 internal static IQueryable <ClaimMappingEntity> FilterBy(this IQueryable <ClaimMappingEntity> query, ClaimMappingSearchCriteria criteria)
 => query
 .FilterBy(
     x => criteria.Types.Contains(x.Type),
     criteria?.Types?.Any() ?? false)
 .FilterBy(
     x => x.GuildId == criteria.GuildId,
     criteria?.GuildId != null)
 .FilterBy(
     x => ((x.RoleId != null) && criteria.RoleIds.Contains(x.RoleId.Value)) || (x.UserId == criteria.UserId),
     (criteria?.RoleIds?.Any() ?? false) && (criteria?.UserId != null))
 .FilterBy(
     x => (x.RoleId != null) && criteria.RoleIds.Contains(x.RoleId.Value),
     (criteria?.RoleIds?.Any() ?? false) && (criteria?.UserId == null))
 .FilterBy(
     x => x.UserId == criteria.UserId,
     ((criteria?.RoleIds == null) || !criteria.RoleIds.Any()) && (criteria?.UserId != 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 == criteria.CreatedById,
     criteria?.CreatedById != null)
 .FilterBy(
     x => (x.DeleteActionId != null) == criteria.IsDeleted.Value,
     criteria?.IsDeleted != null);