2
0

MetadataResult.cs 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. using MediaBrowser.Controller.Entities;
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. namespace MediaBrowser.Controller.Providers
  6. {
  7. public class MetadataResult<T>
  8. {
  9. public List<LocalImageInfo> Images { get; set; }
  10. public List<UserItemData> UserDataList { get; set; }
  11. public MetadataResult()
  12. {
  13. Images = new List<LocalImageInfo>();
  14. }
  15. public List<PersonInfo> People { get; set; }
  16. public bool HasMetadata { get; set; }
  17. public T Item { get; set; }
  18. public void AddPerson(PersonInfo p)
  19. {
  20. if (People == null)
  21. {
  22. People = new List<PersonInfo>();
  23. }
  24. PeopleHelper.AddPerson(People, p);
  25. }
  26. /// <summary>
  27. /// Not only does this clear, but initializes the list so that services can differentiate between a null list and zero people
  28. /// </summary>
  29. public void ResetPeople()
  30. {
  31. if (People == null)
  32. {
  33. People = new List<PersonInfo>();
  34. }
  35. People.Clear();
  36. }
  37. public UserItemData GetOrAddUserData(string userId)
  38. {
  39. if (UserDataList == null)
  40. {
  41. UserDataList = new List<UserItemData>();
  42. }
  43. var userData = UserDataList.FirstOrDefault(i => string.Equals(userId, i.UserId.ToString("N"), StringComparison.OrdinalIgnoreCase));
  44. if (userData == null)
  45. {
  46. userData = new UserItemData()
  47. {
  48. UserId = new Guid(userId)
  49. };
  50. UserDataList.Add(userData);
  51. }
  52. return userData;
  53. }
  54. }
  55. }