diff options
| -rw-r--r-- | Emby.Server.Implementations/LiveTv/LiveTvManager.cs | 9 | ||||
| -rw-r--r-- | Emby.Server.Implementations/Updates/InstallationManager.cs | 3 | ||||
| -rw-r--r-- | MediaBrowser.Api/PackageService.cs | 11 | ||||
| -rw-r--r-- | MediaBrowser.Api/UserLibrary/ItemsService.cs | 8 | ||||
| -rw-r--r-- | MediaBrowser.Model/Querying/QueryResult.cs | 6 |
5 files changed, 25 insertions, 12 deletions
diff --git a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs index 2ecf4e184..ee7db1413 100644 --- a/Emby.Server.Implementations/LiveTv/LiveTvManager.cs +++ b/Emby.Server.Implementations/LiveTv/LiveTvManager.cs @@ -304,9 +304,12 @@ namespace Emby.Server.Implementations.LiveTv } private ILiveTvService GetService(string name) - { - return _services.FirstOrDefault(i => string.Equals(i.Name, name, StringComparison.OrdinalIgnoreCase)); - } + => Array.Find(_services, x => string.Equals(x.Name, name, StringComparison.OrdinalIgnoreCase)) + ?? throw new KeyNotFoundException( + string.Format( + CultureInfo.InvariantCulture, + "No service with the name '{0}' can be found.", + name)); private static void Normalize(MediaSourceInfo mediaSource, ILiveTvService service, bool isVideo) { diff --git a/Emby.Server.Implementations/Updates/InstallationManager.cs b/Emby.Server.Implementations/Updates/InstallationManager.cs index 09a5a0dca..2705e0628 100644 --- a/Emby.Server.Implementations/Updates/InstallationManager.cs +++ b/Emby.Server.Implementations/Updates/InstallationManager.cs @@ -141,8 +141,7 @@ namespace Emby.Server.Implementations.Updates if (guid != Guid.Empty) { - var strGuid = guid.ToString("N", CultureInfo.InvariantCulture); - availablePackages = availablePackages.Where(x => x.guid.Equals(strGuid, StringComparison.OrdinalIgnoreCase)); + availablePackages = availablePackages.Where(x => Guid.Parse(x.guid) == guid); } return availablePackages; diff --git a/MediaBrowser.Api/PackageService.cs b/MediaBrowser.Api/PackageService.cs index b0333eb9c..afc3e026a 100644 --- a/MediaBrowser.Api/PackageService.cs +++ b/MediaBrowser.Api/PackageService.cs @@ -136,10 +136,11 @@ namespace MediaBrowser.Api /// <returns>System.Object.</returns> public object Get(GetPackage request) { - var packages = _installationManager.GetAvailablePackages().Result; - - var result = packages.FirstOrDefault(p => string.Equals(p.guid, request.AssemblyGuid ?? "none", StringComparison.OrdinalIgnoreCase)) - ?? packages.FirstOrDefault(p => p.name.Equals(request.Name, StringComparison.OrdinalIgnoreCase)); + var packages = _installationManager.GetAvailablePackages().GetAwaiter().GetResult(); + var result = _installationManager.FilterPackages( + packages, + request.Name, + string.IsNullOrEmpty(request.AssemblyGuid) ? default : Guid.Parse(request.AssemblyGuid)).FirstOrDefault(); return ToOptimizedResult(result); } @@ -184,7 +185,7 @@ namespace MediaBrowser.Api var package = _installationManager.GetCompatibleVersions( packages, request.Name, - new Guid(request.AssemblyGuid), + string.IsNullOrEmpty(request.AssemblyGuid) ? Guid.Empty : Guid.Parse(request.AssemblyGuid), string.IsNullOrEmpty(request.Version) ? null : Version.Parse(request.Version), request.UpdateClass).FirstOrDefault(); diff --git a/MediaBrowser.Api/UserLibrary/ItemsService.cs b/MediaBrowser.Api/UserLibrary/ItemsService.cs index 81142b728..c7b505171 100644 --- a/MediaBrowser.Api/UserLibrary/ItemsService.cs +++ b/MediaBrowser.Api/UserLibrary/ItemsService.cs @@ -119,6 +119,7 @@ namespace MediaBrowser.Api.UserLibrary var result = new QueryResult<BaseItemDto> { + StartIndex = request.StartIndex.GetValueOrDefault(), TotalRecordCount = itemsResult.TotalRecordCount, Items = returnItems }; @@ -169,6 +170,7 @@ namespace MediaBrowser.Api.UserLibrary return new QueryResult<BaseItemDto> { + StartIndex = request.StartIndex.GetValueOrDefault(), TotalRecordCount = result.TotalRecordCount, Items = dtoList }; @@ -229,7 +231,8 @@ namespace MediaBrowser.Api.UserLibrary return new QueryResult<BaseItem> { Items = Array.Empty<BaseItem>(), - TotalRecordCount = 0 + TotalRecordCount = 0, + StartIndex = 0 }; } @@ -242,7 +245,8 @@ namespace MediaBrowser.Api.UserLibrary return new QueryResult<BaseItem> { Items = itemsArray, - TotalRecordCount = itemsArray.Length + TotalRecordCount = itemsArray.Length, + StartIndex = 0 }; } diff --git a/MediaBrowser.Model/Querying/QueryResult.cs b/MediaBrowser.Model/Querying/QueryResult.cs index c007a45d6..221645afb 100644 --- a/MediaBrowser.Model/Querying/QueryResult.cs +++ b/MediaBrowser.Model/Querying/QueryResult.cs @@ -17,6 +17,12 @@ namespace MediaBrowser.Model.Querying /// <value>The total record count.</value> public int TotalRecordCount { get; set; } + /// <summary> + /// The index of the first record in Items. + /// </summary> + /// <value>First record index.</value> + public int StartIndex { get; set; } + public QueryResult() { Items = Array.Empty<T>(); |
