using System;
using System.Collections.Generic;
using API.Entities.Interfaces;
namespace API.Entities
{
    public class Volume : IEntityDate, IHasReadTimeEstimate
    {
        public int Id { get; set; }
        /// 
        /// A String representation of the volume number. Allows for floats.
        /// 
        /// For Books with Series_index, this will map to the Series Index.
        public string Name { get; set; }
        /// 
        /// The minimum number in the Name field in Int form
        /// 
        public int Number { get; set; }
        public IList Chapters { get; set; }
        public DateTime Created { get; set; }
        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; }
        /// 
        /// Total pages of all chapters in this volume
        /// 
        public int Pages { get; set; }
        /// 
        /// Total Word count of all chapters in this volume.
        /// 
        /// Word Count is only available from EPUB files
        public long WordCount { get; set; }
        public int MinHoursToRead { get; set; }
        public int MaxHoursToRead { get; set; }
        public int AvgHoursToRead { get; set; }
        // Relationships
        public Series Series { get; set; }
        public int SeriesId { get; set; }
    }
}