@@ -90,10 +90,10 @@ public virtual IQueryable<TEntity> Get()
90
90
/// <inheritdoc />
91
91
public virtual IQueryable < TEntity > Filter ( IQueryable < TEntity > entities , FilterQuery filterQuery )
92
92
{
93
- if ( _resourceDefinition != null )
93
+ if ( _resourceDefinition != null )
94
94
{
95
95
var defaultQueryFilters = _resourceDefinition . GetQueryFilters ( ) ;
96
- if ( defaultQueryFilters != null && defaultQueryFilters . TryGetValue ( filterQuery . Attribute , out var defaultQueryFilter ) == true )
96
+ if ( defaultQueryFilters != null && defaultQueryFilters . TryGetValue ( filterQuery . Attribute , out var defaultQueryFilter ) == true )
97
97
{
98
98
return defaultQueryFilter ( entities , filterQuery . Value ) ;
99
99
}
@@ -106,17 +106,17 @@ public virtual IQueryable<TEntity> Filter(IQueryable<TEntity> entities, FilterQu
106
106
public virtual IQueryable < TEntity > Sort ( IQueryable < TEntity > entities , List < SortQuery > sortQueries )
107
107
{
108
108
if ( sortQueries != null && sortQueries . Count > 0 )
109
- return entities . Sort ( sortQueries ) ;
110
-
111
- if ( _resourceDefinition != null )
109
+ return entities . Sort ( _jsonApiContext , sortQueries ) ;
110
+
111
+ if ( _resourceDefinition != null )
112
112
{
113
113
var defaultSortOrder = _resourceDefinition . DefaultSort ( ) ;
114
- if ( defaultSortOrder != null && defaultSortOrder . Count > 0 )
114
+ if ( defaultSortOrder != null && defaultSortOrder . Count > 0 )
115
115
{
116
- foreach ( var sortProp in defaultSortOrder )
117
- {
116
+ foreach ( var sortProp in defaultSortOrder )
117
+ {
118
118
// this is dumb...add an overload, don't allocate for no reason
119
- entities . Sort ( new SortQuery ( sortProp . Item2 , sortProp . Item1 ) ) ;
119
+ entities . Sort ( _jsonApiContext , new SortQuery ( sortProp . Item2 , sortProp . Item1 . PublicAttributeName ) ) ;
120
120
}
121
121
}
122
122
}
@@ -189,10 +189,10 @@ private void AttachHasManyPointers(TEntity entity)
189
189
var relationships = _jsonApiContext . HasManyRelationshipPointers . Get ( ) ;
190
190
foreach ( var relationship in relationships )
191
191
{
192
- if ( relationship . Key is HasManyThroughAttribute hasManyThrough )
192
+ if ( relationship . Key is HasManyThroughAttribute hasManyThrough )
193
193
AttachHasManyThrough ( entity , hasManyThrough , relationship . Value ) ;
194
194
else
195
- AttachHasMany ( relationship . Key as HasManyAttribute , relationship . Value ) ;
195
+ AttachHasMany ( relationship . Key as HasManyAttribute , relationship . Value ) ;
196
196
}
197
197
}
198
198
@@ -289,15 +289,15 @@ public virtual async Task<bool> DeleteAsync(TId id)
289
289
/// <inheritdoc />
290
290
public virtual IQueryable < TEntity > Include ( IQueryable < TEntity > entities , string relationshipName )
291
291
{
292
- if ( string . IsNullOrWhiteSpace ( relationshipName ) ) throw new JsonApiException ( 400 , "Include parameter must not be empty if provided" ) ;
292
+ if ( string . IsNullOrWhiteSpace ( relationshipName ) ) throw new JsonApiException ( 400 , "Include parameter must not be empty if provided" ) ;
293
293
294
294
var relationshipChain = relationshipName . Split ( '.' ) ;
295
295
296
296
// variables mutated in recursive loop
297
297
// TODO: make recursive method
298
298
string internalRelationshipPath = null ;
299
299
var entity = _jsonApiContext . RequestEntity ;
300
- for ( var i = 0 ; i < relationshipChain . Length ; i ++ )
300
+ for ( var i = 0 ; i < relationshipChain . Length ; i ++ )
301
301
{
302
302
var requestedRelationship = relationshipChain [ i ] ;
303
303
var relationship = entity . Relationships . FirstOrDefault ( r => r . PublicRelationshipName == requestedRelationship ) ;
@@ -315,7 +315,7 @@ public virtual IQueryable<TEntity> Include(IQueryable<TEntity> entities, string
315
315
internalRelationshipPath = ( internalRelationshipPath == null )
316
316
? relationship . RelationshipPath
317
317
: $ "{ internalRelationshipPath } .{ relationship . RelationshipPath } ";
318
-
318
+
319
319
if ( i < relationshipChain . Length )
320
320
entity = _jsonApiContext . ResourceGraph . GetContextEntity ( relationship . Type ) ;
321
321
}
0 commit comments