MetadataResult.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. #pragma warning disable CS1591
  2. using System;
  3. using System.Collections.Generic;
  4. using System.Globalization;
  5. using MediaBrowser.Controller.Entities;
  6. using MediaBrowser.Model.Entities;
  7. namespace MediaBrowser.Controller.Providers
  8. {
  9. public class MetadataResult<T>
  10. {
  11. public MetadataResult()
  12. {
  13. Images = new List<LocalImageInfo>();
  14. RemoteImages = new List<(string url, ImageType type)>();
  15. ResultLanguage = "en";
  16. }
  17. public List<LocalImageInfo> Images { get; set; }
  18. public List<(string url, ImageType type)> RemoteImages { get; set; }
  19. public List<UserItemData> UserDataList { get; set; }
  20. public List<PersonInfo> People { get; set; }
  21. public bool HasMetadata { get; set; }
  22. public T Item { get; set; }
  23. public string ResultLanguage { get; set; }
  24. public string Provider { get; set; }
  25. public bool QueriedById { get; set; }
  26. public void AddPerson(PersonInfo p)
  27. {
  28. if (People == null)
  29. {
  30. People = new List<PersonInfo>();
  31. }
  32. PeopleHelper.AddPerson(People, p);
  33. }
  34. /// <summary>
  35. /// Not only does this clear, but initializes the list so that services can differentiate between a null list and zero people.
  36. /// </summary>
  37. public void ResetPeople()
  38. {
  39. if (People == null)
  40. {
  41. People = new List<PersonInfo>();
  42. }
  43. People.Clear();
  44. }
  45. public UserItemData GetOrAddUserData(string userId)
  46. {
  47. if (UserDataList == null)
  48. {
  49. UserDataList = new List<UserItemData>();
  50. }
  51. UserItemData userData = null;
  52. foreach (var i in UserDataList)
  53. {
  54. if (string.Equals(userId, i.UserId.ToString("N", CultureInfo.InvariantCulture), StringComparison.OrdinalIgnoreCase))
  55. {
  56. userData = i;
  57. }
  58. }
  59. if (userData == null)
  60. {
  61. userData = new UserItemData()
  62. {
  63. UserId = new Guid(userId)
  64. };
  65. UserDataList.Add(userData);
  66. }
  67. return userData;
  68. }
  69. }
  70. }