2
0

MetadataResult.cs 2.0 KB

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