Book.cs 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. using MediaBrowser.Controller.Providers;
  2. using MediaBrowser.Model.Configuration;
  3. using System.Linq;
  4. using System.Runtime.Serialization;
  5. using MediaBrowser.Model.Entities;
  6. namespace MediaBrowser.Controller.Entities
  7. {
  8. public class Book : BaseItem, IHasLookupInfo<BookInfo>, IHasSeries
  9. {
  10. [IgnoreDataMember]
  11. public override string MediaType
  12. {
  13. get
  14. {
  15. return Model.Entities.MediaType.Book;
  16. }
  17. }
  18. [IgnoreDataMember]
  19. public string SeriesName { get; set; }
  20. public string FindSeriesName()
  21. {
  22. return SeriesName;
  23. }
  24. public override bool CanDownload()
  25. {
  26. var locationType = LocationType;
  27. return locationType != LocationType.Remote &&
  28. locationType != LocationType.Virtual;
  29. }
  30. public override UnratedItem GetBlockUnratedType()
  31. {
  32. return UnratedItem.Book;
  33. }
  34. public BookInfo GetLookupInfo()
  35. {
  36. var info = GetItemLookupInfo<BookInfo>();
  37. if (string.IsNullOrEmpty(SeriesName))
  38. {
  39. info.SeriesName = GetParents().Select(i => i.Name).FirstOrDefault();
  40. }
  41. else
  42. {
  43. info.SeriesName = SeriesName;
  44. }
  45. return info;
  46. }
  47. }
  48. }