Book.cs 1.6 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. using MediaBrowser.Controller.Providers;
  2. using MediaBrowser.Model.Configuration;
  3. using System.Collections.Generic;
  4. using System.Linq;
  5. using MediaBrowser.Model.Users;
  6. namespace MediaBrowser.Controller.Entities
  7. {
  8. public class Book : BaseItem, IHasTags, IHasPreferredMetadataLanguage, IHasLookupInfo<BookInfo>, IHasSeries
  9. {
  10. public override string MediaType
  11. {
  12. get
  13. {
  14. return Model.Entities.MediaType.Book;
  15. }
  16. }
  17. /// <summary>
  18. /// Gets or sets the tags.
  19. /// </summary>
  20. /// <value>The tags.</value>
  21. public List<string> Tags { get; set; }
  22. public string SeriesName { get; set; }
  23. public string PreferredMetadataLanguage { get; set; }
  24. /// <summary>
  25. /// Gets or sets the preferred metadata country code.
  26. /// </summary>
  27. /// <value>The preferred metadata country code.</value>
  28. public string PreferredMetadataCountryCode { get; set; }
  29. public Book()
  30. {
  31. Tags = new List<string>();
  32. }
  33. protected override bool GetBlockUnratedValue(UserPolicy config)
  34. {
  35. return config.BlockUnratedItems.Contains(UnratedItem.Book);
  36. }
  37. public BookInfo GetLookupInfo()
  38. {
  39. var info = GetItemLookupInfo<BookInfo>();
  40. if (string.IsNullOrEmpty(SeriesName))
  41. {
  42. info.SeriesName = Parents.Select(i => i.Name).FirstOrDefault();
  43. }
  44. else
  45. {
  46. info.SeriesName = SeriesName;
  47. }
  48. return info;
  49. }
  50. }
  51. }