2
0

MetadataResult.cs 2.1 KB

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