| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 | using MediaBrowser.Model.Entities;using System.Collections.Generic;using System.Runtime.Serialization;namespace MediaBrowser.Controller.Entities{    /// <summary>    /// Class Trailer    /// </summary>    public class Trailer : Video    {        public Trailer()        {            RemoteTrailers = new List<MediaUrl>();            Taglines = new List<string>();        }        /// <summary>        /// Gets a value indicating whether this instance is local trailer.        /// </summary>        /// <value><c>true</c> if this instance is local trailer; otherwise, <c>false</c>.</value>        [IgnoreDataMember]        public bool IsLocalTrailer        {            get            {                // Local trailers are not part of children                return Parent == null;            }        }        /// <summary>        /// Should be overridden to return the proper folder where metadata lives        /// </summary>        /// <value>The meta location.</value>        [IgnoreDataMember]        public override string MetaLocation        {            get            {                if (!IsLocalTrailer)                {                    return System.IO.Path.GetDirectoryName(Path);                }                return base.MetaLocation;            }        }        /// <summary>        /// Needed because the resolver stops at the trailer folder and we find the video inside.        /// </summary>        /// <value><c>true</c> if [use parent path to create resolve args]; otherwise, <c>false</c>.</value>        protected override bool UseParentPathToCreateResolveArgs        {            get { return !IsLocalTrailer; }        }        public override string GetUserDataKey()        {            var key = this.GetProviderId(MetadataProviders.Tmdb) ?? this.GetProviderId(MetadataProviders.Tvdb) ?? this.GetProviderId(MetadataProviders.Imdb) ?? this.GetProviderId(MetadataProviders.Tvcom);            if (!string.IsNullOrWhiteSpace(key))            {                return key + "-trailer";            }            return base.GetUserDataKey();        }    }}
 |