using System; using System.Collections.Generic; using API.Entities.Enums; using API.Entities.Interfaces; using API.Entities.Metadata; namespace API.Entities; public class Series : IEntityDate { public int Id { get; set; } /// /// The UI visible Name of the Series. This may or may not be the same as the OriginalName /// public string Name { get; set; } /// /// Used internally for name matching. /// public string NormalizedName { get; set; } /// /// The name used to sort the Series. By default, will be the same as Name. /// public string SortName { get; set; } /// /// Name in original language (Japanese for Manga). By default, will be same as Name. /// public string LocalizedName { get; set; } /// /// Original Name on disk. Not exposed to UI. /// public string OriginalName { get; set; } /// /// Time of creation /// public DateTime Created { get; set; } /// /// Whenever a modification occurs. Ie) New volumes, removed volumes, title update, etc /// public DateTime LastModified { get; set; } /// /// Absolute path to the (managed) image file /// /// The file is managed internally to Kavita's APPDIR public string CoverImage { get; set; } /// /// Denotes if the CoverImage has been overridden by the user. If so, it will not be updated during normal scan operations. /// public bool CoverImageLocked { get; set; } /// /// Sum of all Volume page counts /// public int Pages { get; set; } /// /// The type of all the files attached to this series /// public MangaFormat Format { get; set; } = MangaFormat.Unknown; public bool NameLocked { get; set; } public bool SortNameLocked { get; set; } public bool LocalizedNameLocked { get; set; } /// /// When a Chapter was last added onto the Series /// public DateTime LastChapterAdded { get; set; } public SeriesMetadata Metadata { get; set; } public ICollection Ratings { get; set; } = new List(); public ICollection Progress { get; set; } = new List(); /// /// Relations to other Series, like Sequels, Prequels, etc /// /// 1 to Many relationship public virtual ICollection Relations { get; set; } = new List(); public virtual ICollection RelationOf { get; set; } = new List(); // Relationships public List Volumes { get; set; } public Library Library { get; set; } public int LibraryId { get; set; } }