using System; using System.Collections.Generic; using API.DTOs.Metadata; namespace API.DTOs { /// /// A Chapter is the lowest grouping of a reading medium. A Chapter contains a set of MangaFiles which represents the underlying /// file (abstracted from type). /// public class ChapterDto { public int Id { get; init; } /// /// Range of chapters. Chapter 2-4 -> "2-4". Chapter 2 -> "2". /// public string Range { get; init; } /// /// Smallest number of the Range. /// public string Number { get; init; } /// /// Total number of pages in all MangaFiles /// public int Pages { get; init; } /// /// If this Chapter contains files that could only be identified as Series or has Special Identifier from filename /// public bool IsSpecial { get; init; } /// /// Used for books/specials to display custom title. For non-specials/books, will be set to /// public string Title { get; init; } /// /// The files that represent this Chapter /// public ICollection Files { get; init; } /// /// Calculated at API time. Number of pages read for this Chapter for logged in user. /// public int PagesRead { get; set; } /// /// If the Cover Image is locked for this entity /// public bool CoverImageLocked { get; set; } /// /// Volume Id this Chapter belongs to /// public int VolumeId { get; init; } /// /// When chapter was created /// public DateTime Created { get; init; } /// /// When the chapter was released. /// /// Metadata field public DateTime ReleaseDate { get; init; } /// /// Title of the Chapter/Issue /// /// Metadata field public string TitleName { get; set; } /// /// Summary for the Chapter/Issue /// public string Summary { get; set; } /// /// Language for the Chapter/Issue /// public string Language { get; set; } /// /// Number in the TotalCount of issues /// public int Count { get; set; } /// /// Total number of issues for the series /// public int TotalCount { get; set; } public ICollection Writers { get; set; } = new List(); public ICollection Penciller { get; set; } = new List(); public ICollection Inker { get; set; } = new List(); public ICollection Colorist { get; set; } = new List(); public ICollection Letterer { get; set; } = new List(); public ICollection CoverArtist { get; set; } = new List(); public ICollection Editor { get; set; } = new List(); public ICollection Publisher { get; set; } = new List(); public ICollection Translators { get; set; } = new List(); public ICollection Tags { get; set; } = new List(); } }