using System;
using System.Diagnostics;
using System.Runtime.Serialization;
namespace MediaBrowser.Model.Entities
{
    /// 
    /// This is a stub class containing only basic information about an item
    /// 
    [DebuggerDisplay("Name = {Name}, ID = {Id}, Type = {Type}")]
    public class BaseItemInfo
    {
        /// 
        /// Gets or sets the name.
        /// 
        /// The name.
        public string Name { get; set; }
        /// 
        /// Gets or sets the id.
        /// 
        /// The id.
        public string Id { get; set; }
        /// 
        /// Gets or sets the type.
        /// 
        /// The type.
        public string Type { get; set; }
        /// 
        /// Gets or sets the type of the media.
        /// 
        /// The type of the media.
        public string MediaType { get; set; }
        
        /// 
        /// Gets or sets the run time ticks.
        /// 
        /// The run time ticks.
        public long? RunTimeTicks { get; set; }
        /// 
        /// Gets or sets the primary image tag.
        /// 
        /// The primary image tag.
        public Guid? PrimaryImageTag { get; set; }
        /// 
        /// Gets or sets the thumb image tag.
        /// 
        /// The thumb image tag.
        public Guid? ThumbImageTag { get; set; }
        /// 
        /// Gets or sets the thumb item identifier.
        /// 
        /// The thumb item identifier.
        public string ThumbItemId { get; set; }
        /// 
        /// Gets or sets the thumb image tag.
        /// 
        /// The thumb image tag.
        public Guid? BackdropImageTag { get; set; }
        /// 
        /// Gets or sets the thumb item identifier.
        /// 
        /// The thumb item identifier.
        public string BackdropItemId { get; set; }
        /// 
        /// Gets or sets the media version identifier.
        /// 
        /// The media version identifier.
        public string MediaSourceId { get; set; }
        
        /// 
        /// Gets a value indicating whether this instance has primary image.
        /// 
        /// true if this instance has primary image; otherwise, false.
        [IgnoreDataMember]
        public bool HasPrimaryImage
        {
            get { return PrimaryImageTag.HasValue; }
        }
    }
}