diff options
| author | Luke <luke.pulverenti@gmail.com> | 2016-05-10 01:16:13 -0400 |
|---|---|---|
| committer | Luke <luke.pulverenti@gmail.com> | 2016-05-10 01:16:13 -0400 |
| commit | 2a49fa631abf6743a856f27bdaa3a53aac2e29dc (patch) | |
| tree | 0ba571e2880d93b077923ecb1822002939b0c757 /MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs | |
| parent | cfb0b96f30755af9526e35a7c78527509fa1ea2f (diff) | |
| parent | 9edda5782b6c6221e1b1def4e209b08c2f94ad9c (diff) | |
Merge pull request #1724 from MediaBrowser/dev
Dev
Diffstat (limited to 'MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs')
| -rw-r--r-- | MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs | 29 |
1 files changed, 20 insertions, 9 deletions
diff --git a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs index 6f83e5e06..939781fd1 100644 --- a/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs +++ b/MediaBrowser.Server.Implementations/Persistence/SqliteItemRepository.cs @@ -2058,7 +2058,7 @@ namespace MediaBrowser.Server.Implementations.Persistence if (EnableJoinUserData(query)) { - whereClauses.Add("UserId=@UserId"); + whereClauses.Add("(UserId is null or UserId=@UserId)"); } if (query.IsCurrentSchema.HasValue) { @@ -2363,27 +2363,38 @@ namespace MediaBrowser.Server.Implementations.Persistence { if (query.IsFavoriteOrLiked.Value) { - whereClauses.Add("(IsFavorite=@IsFavoriteOrLiked or rating>=@UserRatingIsFavoriteOrLiked)"); - cmd.Parameters.Add(cmd, "@IsFavoriteOrLiked", DbType.Boolean).Value = true; - cmd.Parameters.Add(cmd, "@UserRatingIsFavoriteOrLiked", DbType.Double).Value = UserItemData.MinLikeValue; + whereClauses.Add("IsFavorite=@IsFavoriteOrLiked"); } else { - whereClauses.Add("(IsFavorite=@IsFavoriteOrLiked or rating is null or rating<@UserRatingIsFavoriteOrLiked)"); - cmd.Parameters.Add(cmd, "@IsFavoriteOrLiked", DbType.Boolean).Value = false; - cmd.Parameters.Add(cmd, "@UserRatingIsFavoriteOrLiked", DbType.Double).Value = UserItemData.MinLikeValue; + whereClauses.Add("(IsFavorite is null or IsFavorite=@IsFavoriteOrLiked)"); } + cmd.Parameters.Add(cmd, "@IsFavoriteOrLiked", DbType.Boolean).Value = query.IsFavoriteOrLiked.Value; } if (query.IsFavorite.HasValue) { - whereClauses.Add("IsFavorite=@IsFavorite"); + if (query.IsFavorite.Value) + { + whereClauses.Add("IsFavorite=@IsFavorite"); + } + else + { + whereClauses.Add("(IsFavorite is null or IsFavorite=@IsFavorite)"); + } cmd.Parameters.Add(cmd, "@IsFavorite", DbType.Boolean).Value = query.IsFavorite.Value; } if (query.IsPlayed.HasValue) { - whereClauses.Add("played=@IsPlayed"); + if (query.IsPlayed.Value) + { + whereClauses.Add("(played=@IsPlayed)"); + } + else + { + whereClauses.Add("(played is null or played=@IsPlayed)"); + } cmd.Parameters.Add(cmd, "@IsPlayed", DbType.Boolean).Value = query.IsPlayed.Value; } |
