aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs18
-rw-r--r--MediaBrowser.Controller/Entities/Folder.cs8
-rw-r--r--MediaBrowser.Controller/Entities/UserViewBuilder.cs2
3 files changed, 14 insertions, 14 deletions
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index 275fdac2e..67675e756 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -2315,27 +2315,27 @@ namespace MediaBrowser.Controller.Entities
return UpdateToRepositoryAsync(ItemUpdateType.ImageUpdate, CancellationToken.None);
}
- public virtual bool IsPlayed(User user)
+ public virtual bool IsPlayed(User user, UserItemData userItemData)
{
- var userdata = UserDataManager.GetUserData(user, this);
+ userItemData ??= UserDataManager.GetUserData(user, this);
- return userdata is not null && userdata.Played;
+ return userItemData is not null && userItemData.Played;
}
- public bool IsFavoriteOrLiked(User user)
+ public bool IsFavoriteOrLiked(User user, UserItemData userItemData)
{
- var userdata = UserDataManager.GetUserData(user, this);
+ userItemData ??= UserDataManager.GetUserData(user, this);
- return userdata is not null && (userdata.IsFavorite || (userdata.Likes ?? false));
+ return userItemData is not null && (userItemData.IsFavorite || (userItemData.Likes ?? false));
}
- public virtual bool IsUnplayed(User user)
+ public virtual bool IsUnplayed(User user, UserItemData userItemData)
{
ArgumentNullException.ThrowIfNull(user);
- var userdata = UserDataManager.GetUserData(user, this);
+ userItemData ??= UserDataManager.GetUserData(user, this);
- return userdata is null || !userdata.Played;
+ return userItemData is null || !userItemData.Played;
}
ItemLookupInfo IHasLookupInfo<ItemLookupInfo>.GetLookupInfo()
diff --git a/MediaBrowser.Controller/Entities/Folder.cs b/MediaBrowser.Controller/Entities/Folder.cs
index 082cf39fa..b889e73e3 100644
--- a/MediaBrowser.Controller/Entities/Folder.cs
+++ b/MediaBrowser.Controller/Entities/Folder.cs
@@ -1666,7 +1666,7 @@ namespace MediaBrowser.Controller.Entities
}
}
- public override bool IsPlayed(User user)
+ public override bool IsPlayed(User user, UserItemData userItemData)
{
var itemsResult = GetItemList(new InternalItemsQuery(user)
{
@@ -1677,12 +1677,12 @@ namespace MediaBrowser.Controller.Entities
});
return itemsResult
- .All(i => i.IsPlayed(user));
+ .All(i => i.IsPlayed(user, userItemData: null));
}
- public override bool IsUnplayed(User user)
+ public override bool IsUnplayed(User user, UserItemData userItemData)
{
- return !IsPlayed(user);
+ return !IsPlayed(user, userItemData);
}
public override void FillUserDataDtoValues(UserItemDataDto dto, UserItemData userData, BaseItemDto itemDto, User user, DtoOptions fields)
diff --git a/MediaBrowser.Controller/Entities/UserViewBuilder.cs b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
index 0cd3399d4..62eb43aa5 100644
--- a/MediaBrowser.Controller/Entities/UserViewBuilder.cs
+++ b/MediaBrowser.Controller/Entities/UserViewBuilder.cs
@@ -542,7 +542,7 @@ namespace MediaBrowser.Controller.Entities
if (query.IsPlayed.HasValue)
{
userData ??= userDataManager.GetUserData(user, item);
- if (userData.Played != query.IsPlayed.Value)
+ if (item.IsPlayed(user, userData) != query.IsPlayed.Value)
{
return false;
}