using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using Jellyfin.Data.Interfaces;
namespace Jellyfin.Data.Entities.Libraries
{
    /// 
    /// An entity representing series metadata.
    /// 
    public class SeriesMetadata : ItemMetadata, IHasCompanies
    {
        /// 
        /// Initializes a new instance of the  class.
        /// 
        /// The title or name of the object.
        /// ISO-639-3 3-character language codes.
        public SeriesMetadata(string title, string language) : base(title, language)
        {
            Networks = new HashSet();
        }
        /// 
        /// Gets or sets the outline.
        /// 
        /// 
        /// Max length = 1024.
        /// 
        [MaxLength(1024)]
        [StringLength(1024)]
        public string? Outline { get; set; }
        /// 
        /// Gets or sets the plot.
        /// 
        /// 
        /// Max length = 65535.
        /// 
        [MaxLength(65535)]
        [StringLength(65535)]
        public string? Plot { get; set; }
        /// 
        /// Gets or sets the tagline.
        /// 
        /// 
        /// Max length = 1024.
        /// 
        [MaxLength(1024)]
        [StringLength(1024)]
        public string? Tagline { get; set; }
        /// 
        /// Gets or sets the country code.
        /// 
        /// 
        /// Max length = 2.
        /// 
        [MaxLength(2)]
        [StringLength(2)]
        public string? Country { get; set; }
        /// 
        /// Gets a collection containing the networks.
        /// 
        public virtual ICollection Networks { get; private set; }
        /// 
        public ICollection Companies => Networks;
    }
}