From 404f2338f91ebea5a6f6434e73155b662f55317f Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 29 Jun 2016 12:31:01 -0400 Subject: fix next up order --- .../Persistence/SqliteItemRepository.cs | 11 +++- .../TV/TVSeriesManager.cs | 58 ++++------------------ 2 files changed, 20 insertions(+), 49 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 096cdf880e..d0c351c5df 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -2663,6 +2663,12 @@ namespace MediaBrowser.Server.Implementations.Persistence cmd.Parameters.Add(cmd, "@SlugName", DbType.String).Value = query.SlugName; } + if (!string.IsNullOrWhiteSpace(query.MinSortName)) + { + whereClauses.Add("SortName>=@MinSortName"); + cmd.Parameters.Add(cmd, "@MinSortName", DbType.String).Value = query.MinSortName; + } + if (!string.IsNullOrWhiteSpace(query.Name)) { whereClauses.Add("CleanName=@Name"); @@ -3773,7 +3779,8 @@ namespace MediaBrowser.Server.Implementations.Persistence } else { - whereText += " And itemTypes not null"; + //whereText += " And itemTypes not null"; + whereText += " And CleanName In (Select CleanValue from ItemValues where Type=@ItemValueType AND ItemId in (select guid from TypedBaseItems" + innerWhereText + "))"; } var outerQuery = new InternalItemsQuery(query.User) @@ -3855,7 +3862,7 @@ namespace MediaBrowser.Server.Implementations.Persistence ? (CommandBehavior.SequentialAccess | CommandBehavior.SingleResult) : CommandBehavior.SequentialAccess; - //Logger.Debug("GetItemValues: " + cmd.CommandText); + Logger.Debug("GetItemValues: " + cmd.CommandText); using (var reader = cmd.ExecuteReader(commandBehavior)) { diff --git a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs index 82232ffae0..ba6534a7c3 100644 --- a/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs +++ b/MediaBrowser.Server.Implementations/TV/TVSeriesManager.cs @@ -107,7 +107,6 @@ namespace MediaBrowser.Server.Implementations.TV var currentUser = user; return series - .AsParallel() .Select(i => GetNextUp(i, currentUser)) // Include if an episode was found, and either the series is not unwatched or the specific series was requested .Where(i => i.Item1 != null && (!i.Item3 || !string.IsNullOrWhiteSpace(request.SeriesId))) @@ -124,67 +123,32 @@ namespace MediaBrowser.Server.Implementations.TV /// Task{Episode}. private Tuple GetNextUp(Series series, User user) { - var firstUnwatchedEpisode = _libraryManager.GetItemList(new InternalItemsQuery(user) + var lastWatchedEpisode = _libraryManager.GetItemList(new InternalItemsQuery(user) { AncestorWithPresentationUniqueKey = series.PresentationUniqueKey, IncludeItemTypes = new[] { typeof(Episode).Name }, SortBy = new[] { ItemSortBy.SortName }, - SortOrder = SortOrder.Ascending, + SortOrder = SortOrder.Descending, + IsPlayed = true, Limit = 1, - IsPlayed = false, IsVirtualItem = false, ParentIndexNumberNotEquals = 0 - }).Cast().FirstOrDefault(); - - // series is fully played - if (firstUnwatchedEpisode == null) - { - return new Tuple(null, DateTime.MinValue, true); - } + }).FirstOrDefault(); - var lastWatchedEpisode = _libraryManager.GetItemList(new InternalItemsQuery(user) + var firstUnwatchedEpisode = _libraryManager.GetItemList(new InternalItemsQuery(user) { AncestorWithPresentationUniqueKey = series.PresentationUniqueKey, IncludeItemTypes = new[] { typeof(Episode).Name }, - SortBy = new[] { ItemSortBy.DatePlayed }, - SortOrder = SortOrder.Descending, + SortBy = new[] { ItemSortBy.SortName }, + SortOrder = SortOrder.Ascending, Limit = 1, + IsPlayed = false, IsVirtualItem = false, - ParentIndexNumberNotEquals = 0 + ParentIndexNumberNotEquals = 0, + MinSortName = lastWatchedEpisode == null ? null : lastWatchedEpisode.SortName - }).FirstOrDefault(); - - //// Get them in display order, then reverse - //var allEpisodes = series.GetEpisodes(user, false, false) - // .Where(i => !i.ParentIndexNumber.HasValue || i.ParentIndexNumber.Value != 0) - // .Reverse() - // .ToList(); - - //Episode lastWatched = null; - //var lastWatchedDate = DateTime.MinValue; - //Episode nextUp = null; - - //// Go back starting with the most recent episodes - //foreach (var episode in allEpisodes) - //{ - // var userData = _userDataManager.GetUserData(user, episode); - - // if (userData.Played) - // { - // if (lastWatched != null || nextUp == null) - // { - // break; - // } - - // lastWatched = episode; - // lastWatchedDate = userData.LastPlayedDate ?? DateTime.MinValue; - // } - // else - // { - // nextUp = episode; - // } - //} + }).Cast().FirstOrDefault(); if (lastWatchedEpisode != null) { -- cgit v1.2.3 From 636969e7ffbaafec3f458de4299966776bc72737 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 29 Jun 2016 13:43:34 -0400 Subject: update tab loading --- .../MediaBrowser.Common.Implementations.csproj | 6 +++--- MediaBrowser.Common.Implementations/packages.config | 4 ++-- .../MediaBrowser.Server.Implementations.csproj | 6 +++--- MediaBrowser.Server.Implementations/packages.config | 4 ++-- Nuget/MediaBrowser.Common.Internal.nuspec | 4 ++-- 5 files changed, 12 insertions(+), 12 deletions(-) (limited to 'MediaBrowser.Server.Implementations') diff --git a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj index a889879d55..108eddcf9e 100644 --- a/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj +++ b/MediaBrowser.Common.Implementations/MediaBrowser.Common.Implementations.csproj @@ -55,7 +55,7 @@ ..\packages\morelinq.1.4.0\lib\net35\MoreLinq.dll - ..\packages\NLog.4.3.4\lib\net45\NLog.dll + ..\packages\NLog.4.3.5\lib\net45\NLog.dll True @@ -65,8 +65,8 @@ False ..\ThirdParty\SharpCompress\SharpCompress.dll - - ..\packages\SimpleInjector.3.1.5\lib\net45\SimpleInjector.dll + + ..\packages\SimpleInjector.3.2.0\lib\net45\SimpleInjector.dll True diff --git a/MediaBrowser.Common.Implementations/packages.config b/MediaBrowser.Common.Implementations/packages.config index d1ede89a11..882acc9ffd 100644 --- a/MediaBrowser.Common.Implementations/packages.config +++ b/MediaBrowser.Common.Implementations/packages.config @@ -2,7 +2,7 @@ - + - + \ No newline at end of file diff --git a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj index cfe0564fbd..d58528b441 100644 --- a/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj +++ b/MediaBrowser.Server.Implementations/MediaBrowser.Server.Implementations.csproj @@ -46,7 +46,7 @@ ..\packages\CommonIO.1.0.0.9\lib\net45\CommonIO.dll - ..\packages\Emby.XmlTv.1.0.0.53\lib\net45\Emby.XmlTv.dll + ..\packages\Emby.XmlTv.1.0.0.54\lib\net45\Emby.XmlTv.dll True @@ -69,8 +69,8 @@ ..\ThirdParty\ServiceStack\ServiceStack.Api.Swagger.dll - - ..\packages\SimpleInjector.3.1.5\lib\net45\SimpleInjector.dll + + ..\packages\SimpleInjector.3.2.0\lib\net45\SimpleInjector.dll True diff --git a/MediaBrowser.Server.Implementations/packages.config b/MediaBrowser.Server.Implementations/packages.config index 326721ff3b..93a7f03b9b 100644 --- a/MediaBrowser.Server.Implementations/packages.config +++ b/MediaBrowser.Server.Implementations/packages.config @@ -1,13 +1,13 @@  - + - + \ No newline at end of file diff --git a/Nuget/MediaBrowser.Common.Internal.nuspec b/Nuget/MediaBrowser.Common.Internal.nuspec index fd30d23d52..dc92b318e7 100644 --- a/Nuget/MediaBrowser.Common.Internal.nuspec +++ b/Nuget/MediaBrowser.Common.Internal.nuspec @@ -13,8 +13,8 @@ Copyright © Emby 2013 - - + + -- cgit v1.2.3