using ProtoBuf;
using System;
using System.Runtime.Serialization;
namespace MediaBrowser.Model.Entities
{
    /// 
    /// This is a stub class containing only basic information about an item
    /// 
    [ProtoContract]
    public class BaseItemInfo
    {
        /// 
        /// Gets or sets the name.
        /// 
        /// The name.
        [ProtoMember(1)]
        public string Name { get; set; }
        /// 
        /// Gets or sets the id.
        /// 
        /// The id.
        [ProtoMember(2)]
        public string Id { get; set; }
        /// 
        /// Gets or sets the type.
        /// 
        /// The type.
        [ProtoMember(3)]
        public string Type { get; set; }
        /// 
        /// Gets or sets a value indicating whether this instance is folder.
        /// 
        /// true if this instance is folder; otherwise, false.
        [ProtoMember(4)]
        public bool IsFolder { get; set; }
        /// 
        /// Gets or sets the run time ticks.
        /// 
        /// The run time ticks.
        [ProtoMember(5)]
        public long? RunTimeTicks { get; set; }
        /// 
        /// Gets or sets the primary image tag.
        /// 
        /// The primary image tag.
        [ProtoMember(6)]
        public Guid? PrimaryImageTag { get; set; }
        /// 
        /// Gets or sets the backdrop image tag.
        /// 
        /// The backdrop image tag.
        [ProtoMember(7)]
        public Guid? BackdropImageTag { 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; }
        }
        /// 
        /// Gets a value indicating whether this instance has backdrop.
        /// 
        /// true if this instance has backdrop; otherwise, false.
        [IgnoreDataMember]
        public bool HasBackdrop
        {
            get { return BackdropImageTag.HasValue; }
        }
    }
}