@@ -129,6 +129,19 @@ public override Task<Resource[]> QueryAsync(IQueryParameters parameters, string
129
129
throw new ArgumentException ( SystemForCrossDomainIdentityManagementServiceResources . ExceptionInvalidParameters ) ;
130
130
}
131
131
132
+ // ID filter
133
+ else if ( andFilter . AttributePath . Equals ( AttributeNames . Identifier , StringComparison . OrdinalIgnoreCase ) )
134
+ {
135
+ if ( andFilter . FilterOperator != ComparisonOperator . Equals )
136
+ {
137
+ throw new NotSupportedException (
138
+ string . Format ( SystemForCrossDomainIdentityManagementServiceResources . ExceptionFilterOperatorNotSupportedTemplate , andFilter . FilterOperator ) ) ;
139
+ }
140
+
141
+ var id = andFilter . ComparisonValue ;
142
+ predicateAnd = predicateAnd . And ( p => string . Equals ( p . Identifier , id , StringComparison . OrdinalIgnoreCase ) ) ;
143
+ }
144
+
132
145
// UserName filter
133
146
else if ( andFilter . AttributePath . Equals ( AttributeNames . UserName , StringComparison . OrdinalIgnoreCase ) )
134
147
{
@@ -174,6 +187,19 @@ public override Task<Resource[]> QueryAsync(IQueryParameters parameters, string
174
187
predicateAnd = predicateAnd . And ( p => p . Active == active ) ;
175
188
}
176
189
190
+ // DisplayName Filter
191
+ else if ( andFilter . AttributePath . Equals ( AttributeNames . DisplayName , StringComparison . OrdinalIgnoreCase ) )
192
+ {
193
+ if ( andFilter . FilterOperator != ComparisonOperator . Equals )
194
+ {
195
+ throw new NotSupportedException (
196
+ string . Format ( SystemForCrossDomainIdentityManagementServiceResources . ExceptionFilterOperatorNotSupportedTemplate , andFilter . FilterOperator ) ) ;
197
+ }
198
+
199
+ var displayName = andFilter . ComparisonValue ;
200
+ predicateAnd = predicateAnd . And ( p => p . DisplayName == displayName ) ;
201
+ }
202
+
177
203
//LastModified filter
178
204
else if ( andFilter . AttributePath . Equals (
179
205
$ "{ AttributeNames . Metadata } .{ AttributeNames . LastModified } ",
0 commit comments