MetadataResult.cs 2.1 KB

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