using MediaBrowser.Controller.Providers; using MediaBrowser.Model.Configuration; using System.Collections.Generic; using System.Linq; using MediaBrowser.Model.Entities; using MediaBrowser.Model.Users; namespace MediaBrowser.Controller.Entities { public class Book : BaseItem, IHasTags, IHasLookupInfo, IHasSeries { public override string MediaType { get { return Model.Entities.MediaType.Book; } } public string SeriesName { get; set; } public override bool CanDownload() { var locationType = LocationType; return locationType != LocationType.Remote && locationType != LocationType.Virtual; } protected override bool GetBlockUnratedValue(UserPolicy config) { return config.BlockUnratedItems.Contains(UnratedItem.Book); } public BookInfo GetLookupInfo() { var info = GetItemLookupInfo(); if (string.IsNullOrEmpty(SeriesName)) { info.SeriesName = Parents.Select(i => i.Name).FirstOrDefault(); } else { info.SeriesName = SeriesName; } return info; } } }