MetadataResult.cs 2.0 KB

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