mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-05-24 02:02:29 -04:00
Fixed ItemSorting
This commit is contained in:
parent
fb48d0790f
commit
c6e67edd86
@ -228,12 +228,14 @@ public sealed class BaseItemRepository(
|
||||
.Include(e => e.Images)
|
||||
.Include(e => e.LockedFields);
|
||||
dbQuery = TranslateQuery(dbQuery, context, filter);
|
||||
// .DistinctBy(e => e.Id);
|
||||
// .DistinctBy(e => e.Id);
|
||||
if (filter.EnableTotalRecordCount)
|
||||
{
|
||||
result.TotalRecordCount = dbQuery.Count();
|
||||
}
|
||||
|
||||
dbQuery = ApplyOrder(dbQuery, filter);
|
||||
|
||||
if (filter.Limit.HasValue || filter.StartIndex.HasValue)
|
||||
{
|
||||
var offset = filter.StartIndex ?? 0;
|
||||
@ -267,6 +269,7 @@ public sealed class BaseItemRepository(
|
||||
.Include(e => e.Images)
|
||||
.Include(e => e.LockedFields);
|
||||
dbQuery = TranslateQuery(dbQuery, context, filter);
|
||||
dbQuery = ApplyOrder(dbQuery, filter);
|
||||
if (filter.Limit.HasValue || filter.StartIndex.HasValue)
|
||||
{
|
||||
var offset = filter.StartIndex ?? 0;
|
||||
@ -2110,19 +2113,35 @@ public sealed class BaseItemRepository(
|
||||
return query;
|
||||
}
|
||||
|
||||
foreach (var item in orderBy)
|
||||
IOrderedQueryable<BaseItemEntity>? orderedQuery = null;
|
||||
|
||||
var firstOrdering = orderBy.FirstOrDefault();
|
||||
if (firstOrdering != default)
|
||||
{
|
||||
var expression = MapOrderByField(firstOrdering.OrderBy, filter);
|
||||
if (firstOrdering.SortOrder == SortOrder.Ascending)
|
||||
{
|
||||
orderedQuery = query.OrderBy(expression);
|
||||
}
|
||||
else
|
||||
{
|
||||
orderedQuery = query.OrderByDescending(expression);
|
||||
}
|
||||
}
|
||||
|
||||
foreach (var item in orderBy.Skip(1))
|
||||
{
|
||||
var expression = MapOrderByField(item.OrderBy, filter);
|
||||
if (item.SortOrder == SortOrder.Ascending)
|
||||
{
|
||||
query = query.OrderBy(expression);
|
||||
orderedQuery = orderedQuery!.ThenBy(expression);
|
||||
}
|
||||
else
|
||||
{
|
||||
query = query.OrderByDescending(expression);
|
||||
orderedQuery = orderedQuery!.ThenByDescending(expression);
|
||||
}
|
||||
}
|
||||
|
||||
return query;
|
||||
return orderedQuery ?? query;
|
||||
}
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user