using System; using System.Collections.Generic; using API.Entities; using API.Entities.Interfaces; using API.Extensions; using API.Services.Tasks.Scanner.Parser; namespace API.DTOs; public class VolumeDto : IHasReadTimeEstimate { public int Id { get; set; } /// public float MinNumber { get; set; } /// public float MaxNumber { get; set; } /// public string Name { get; set; } = default!; /// /// This will map to MinNumber. Number was removed in v0.7.13.8/v0.7.14 /// [Obsolete("Use MinNumber")] public int Number { get; set; } public int Pages { get; set; } public int PagesRead { get; set; } public DateTime LastModifiedUtc { get; set; } public DateTime CreatedUtc { get; set; } /// /// When chapter was created in local server time /// /// This is required for Tachiyomi Extension public DateTime Created { get; set; } /// /// When chapter was last modified in local server time /// /// This is required for Tachiyomi Extension public DateTime LastModified { get; set; } public int SeriesId { get; set; } public ICollection Chapters { get; set; } = new List(); /// public int MinHoursToRead { get; set; } /// public int MaxHoursToRead { get; set; } /// public int AvgHoursToRead { get; set; } /// /// Is this a loose leaf volume /// /// public bool IsLooseLeaf() { return MinNumber.Is(Parser.LooseLeafVolumeNumber); } /// /// Does this volume hold only specials? /// /// public bool IsSpecial() { return MinNumber.Is(Parser.SpecialVolumeNumber); } }