using System.Collections.Generic; using API.DTOs.CollectionTags; using API.DTOs.Metadata; using API.Entities.Enums; namespace API.DTOs; public class SeriesMetadataDto { public int Id { get; set; } public string Summary { get; set; } = string.Empty; /// /// Collections the Series belongs to /// public ICollection CollectionTags { get; set; } = new List(); /// /// Genres for the Series /// public ICollection Genres { get; set; } = new List(); /// /// Collection of all Tags from underlying chapters for a Series /// public ICollection Tags { get; set; } = new List(); public ICollection Writers { get; set; } = new List(); public ICollection CoverArtists { get; set; } = new List(); public ICollection Publishers { get; set; } = new List(); public ICollection Characters { get; set; } = new List(); public ICollection Pencillers { get; set; } = new List(); public ICollection Inkers { get; set; } = new List(); public ICollection Colorists { get; set; } = new List(); public ICollection Letterers { get; set; } = new List(); public ICollection Editors { get; set; } = new List(); public ICollection Translators { get; set; } = new List(); /// /// Highest Age Rating from all Chapters /// public AgeRating AgeRating { get; set; } = AgeRating.Unknown; /// /// Earliest Year from all chapters /// public int ReleaseYear { get; set; } /// /// Language of the content (BCP-47 code) /// public string Language { get; set; } = string.Empty; /// /// Max number of issues/volumes in the series (Max of Volume/Issue field in ComicInfo) /// public int MaxCount { get; set; } = 0; /// /// Total number of issues/volumes for the series /// public int TotalCount { get; set; } /// /// Publication status of the Series /// public PublicationStatus PublicationStatus { get; set; } public bool LanguageLocked { get; set; } public bool SummaryLocked { get; set; } /// /// Locked by user so metadata updates from scan loop will not override AgeRating /// public bool AgeRatingLocked { get; set; } /// /// Locked by user so metadata updates from scan loop will not override PublicationStatus /// public bool PublicationStatusLocked { get; set; } public bool GenresLocked { get; set; } public bool TagsLocked { get; set; } public bool WritersLocked { get; set; } public bool CharactersLocked { get; set; } public bool ColoristsLocked { get; set; } public bool EditorsLocked { get; set; } public bool InkersLocked { get; set; } public bool LetterersLocked { get; set; } public bool PencillersLocked { get; set; } public bool PublishersLocked { get; set; } public bool TranslatorsLocked { get; set; } public bool CoverArtistsLocked { get; set; } public bool ReleaseYearLocked { get; set; } public int SeriesId { get; set; } }