mirror of
https://github.com/jellyfin/jellyfin.git
synced 2025-12-16 05:53:03 +03:00
Fix warnings, improve performance (#1665)
* Fix warnings, improve performance `QueryResult.Items` is now a `IReadOnlyList` so we don't need to allocate a new `Array` when we have a `List` (and `Items` shouldn't need to be mutable anyway) * Update Providers .csproj to latest C# * Remove extra newline from DtoService.cs * Remove extra newline from UserLibraryService.cs
This commit is contained in:
@@ -666,36 +666,36 @@ namespace MediaBrowser.Controller.Entities
|
||||
query.StartIndex = null;
|
||||
query.Limit = null;
|
||||
|
||||
var itemsList = LibraryManager.GetItemList(query);
|
||||
IEnumerable<BaseItem> itemsList = LibraryManager.GetItemList(query);
|
||||
var user = query.User;
|
||||
|
||||
if (user != null)
|
||||
{
|
||||
// needed for boxsets
|
||||
itemsList = itemsList.Where(i => i.IsVisibleStandalone(query.User)).ToList();
|
||||
itemsList = itemsList.Where(i => i.IsVisibleStandalone(query.User));
|
||||
}
|
||||
|
||||
BaseItem[] returnItems;
|
||||
IEnumerable<BaseItem> returnItems;
|
||||
int totalCount = 0;
|
||||
|
||||
if (query.EnableTotalRecordCount)
|
||||
{
|
||||
var itemsArray = itemsList.ToArray();
|
||||
totalCount = itemsArray.Length;
|
||||
returnItems = itemsArray;
|
||||
var itemArray = itemsList.ToArray();
|
||||
totalCount = itemArray.Length;
|
||||
returnItems = itemArray;
|
||||
}
|
||||
else
|
||||
{
|
||||
returnItems = itemsList.ToArray();
|
||||
returnItems = itemsList;
|
||||
}
|
||||
|
||||
if (limit.HasValue)
|
||||
{
|
||||
returnItems = returnItems.Skip(startIndex ?? 0).Take(limit.Value).ToArray();
|
||||
returnItems = returnItems.Skip(startIndex ?? 0).Take(limit.Value);
|
||||
}
|
||||
else if (startIndex.HasValue)
|
||||
{
|
||||
returnItems = returnItems.Skip(startIndex.Value).ToArray();
|
||||
returnItems = returnItems.Skip(startIndex.Value);
|
||||
}
|
||||
|
||||
return new QueryResult<BaseItem>
|
||||
|
||||
Reference in New Issue
Block a user