using MediaBrowser.Controller.Providers ;
using MediaBrowser.Model.Configuration ;
using MediaBrowser.Model.Entities ;
using MediaBrowser.Model.Users ;
using System ;
using System.Collections.Generic ;
using System.Globalization ;
using System.Linq ;
using System.Runtime.Serialization ;
using MediaBrowser.Controller.Entities.Movies ;
namespace MediaBrowser.Controller.Entities
{
/// <summary>
/// Class Trailer
/// </summary>
[Obsolete]
public class Trailer : Video , IHasCriticRating , IHasProductionLocations , IHasBudget , IHasKeywords , IHasTaglines , IHasMetascore , IHasLookupInfo < TrailerInfo >
{
public List < string > ProductionLocations { get ; set ; }
public Trailer ( )
{
RemoteTrailers = new List < MediaUrl > ( ) ;
Taglines = new List < string > ( ) ;
Keywords = new List < string > ( ) ;
ProductionLocations = new List < string > ( ) ;
}
public float? Metascore { get ; set ; }
public List < MediaUrl > RemoteTrailers { get ; set ; }
public List < string > Keywords { get ; set ; }
/// <summary>
/// Gets or sets the taglines.
/// </summary>
/// <value>The taglines.</value>
public List < string > Taglines { get ; set ; }
/// <summary>
/// Gets or sets the budget.
/// </summary>
/// <value>The budget.</value>
public double? Budget { get ; set ; }
/// <summary>
/// Gets or sets the revenue.
/// </summary>
/// <value>The revenue.</value>
public double? Revenue { get ; set ; }
/// <summary>
/// Gets or sets the critic rating.
/// </summary>
/// <value>The critic rating.</value>
public float? CriticRating { get ; set ; }
/// <summary>
/// Gets or sets the critic rating summary.
/// </summary>
/// <value>The critic rating summary.</value>
public string CriticRatingSummary { get ; set ; }
/// <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 GetParent ( ) = = null ;
}
}
protected override string CreateUserDataKey ( )
{
var key = Movie . GetMovieUserDataKey ( this ) ;
if ( ! string . IsNullOrWhiteSpace ( key ) )
{
key = key + "-trailer" ;
// Make sure different trailers have their own data.
if ( RunTimeTicks . HasValue )
{
key + = "-" + RunTimeTicks . Value . ToString ( CultureInfo . InvariantCulture ) ;
}
return key ;
}
return base . CreateUserDataKey ( ) ;
}
public override UnratedItem GetBlockUnratedType ( )
{
return UnratedItem . Trailer ;
}
public TrailerInfo GetLookupInfo ( )
{
var info = GetItemLookupInfo < TrailerInfo > ( ) ;
info . IsLocalTrailer = IsLocalTrailer ;
return info ;
}
}
}