aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Providers/MetadataResult.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Providers/MetadataResult.cs')
-rw-r--r--MediaBrowser.Controller/Providers/MetadataResult.cs53
1 files changed, 51 insertions, 2 deletions
diff --git a/MediaBrowser.Controller/Providers/MetadataResult.cs b/MediaBrowser.Controller/Providers/MetadataResult.cs
index a18dd83e8..17175f91c 100644
--- a/MediaBrowser.Controller/Providers/MetadataResult.cs
+++ b/MediaBrowser.Controller/Providers/MetadataResult.cs
@@ -1,18 +1,67 @@
using MediaBrowser.Controller.Entities;
+using System;
using System.Collections.Generic;
+using System.Linq;
namespace MediaBrowser.Controller.Providers
{
public class MetadataResult<T>
{
+ public List<LocalImageInfo> Images { get; set; }
+ public List<UserItemData> UserDataList { get; set; }
+
+ public MetadataResult()
+ {
+ Images = new List<LocalImageInfo>();
+ }
+
public List<PersonInfo> People { get; set; }
public bool HasMetadata { get; set; }
public T Item { get; set; }
- public MetadataResult()
+ public void AddPerson(PersonInfo p)
{
- People = new List<PersonInfo>();
+ if (People == null)
+ {
+ People = new List<PersonInfo>();
+ }
+
+ PeopleHelper.AddPerson(People, p);
+ }
+
+ /// <summary>
+ /// Not only does this clear, but initializes the list so that services can differentiate between a null list and zero people
+ /// </summary>
+ public void ResetPeople()
+ {
+ if (People == null)
+ {
+ People = new List<PersonInfo>();
+ }
+ People.Clear();
+ }
+
+ public UserItemData GetOrAddUserData(string userId)
+ {
+ if (UserDataList == null)
+ {
+ UserDataList = new List<UserItemData>();
+ }
+
+ var userData = UserDataList.FirstOrDefault(i => string.Equals(userId, i.UserId.ToString("N"), StringComparison.OrdinalIgnoreCase));
+
+ if (userData == null)
+ {
+ userData = new UserItemData()
+ {
+ UserId = new Guid(userId)
+ };
+
+ UserDataList.Add(userData);
+ }
+
+ return userData;
}
}
} \ No newline at end of file