aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Controller/Entities
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Controller/Entities')
-rw-r--r--MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs3
-rw-r--r--MediaBrowser.Controller/Entities/BaseItem.cs6
-rw-r--r--MediaBrowser.Controller/Entities/Game.cs6
-rw-r--r--MediaBrowser.Controller/Entities/IHasSoundtracks.cs17
-rw-r--r--MediaBrowser.Controller/Entities/Movies/Movie.cs5
-rw-r--r--MediaBrowser.Controller/Entities/TV/Episode.cs3
-rw-r--r--MediaBrowser.Controller/Entities/TV/Season.cs4
-rw-r--r--MediaBrowser.Controller/Entities/TV/Series.cs4
-rw-r--r--MediaBrowser.Controller/Entities/Trailer.cs6
9 files changed, 44 insertions, 10 deletions
diff --git a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
index cb64cfdfe..09aefdac9 100644
--- a/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
+++ b/MediaBrowser.Controller/Entities/Audio/MusicAlbum.cs
@@ -11,9 +11,12 @@ namespace MediaBrowser.Controller.Entities.Audio
/// </summary>
public class MusicAlbum : Folder, IHasAlbumArtist, IHasArtist, IHasMusicGenres
{
+ public List<Guid> SoundtrackIds { get; set; }
+
public MusicAlbum()
{
Artists = new List<string>();
+ SoundtrackIds = new List<Guid>();
}
public string LastFmImageUrl { get; set; }
diff --git a/MediaBrowser.Controller/Entities/BaseItem.cs b/MediaBrowser.Controller/Entities/BaseItem.cs
index f8b2fad23..9cd839b21 100644
--- a/MediaBrowser.Controller/Entities/BaseItem.cs
+++ b/MediaBrowser.Controller/Entities/BaseItem.cs
@@ -25,11 +25,6 @@ namespace MediaBrowser.Controller.Entities
/// </summary>
public abstract class BaseItem : IHasProviderIds, ILibraryItem
{
- /// <summary>
- /// MusicAlbums in the library that are the soundtrack for this item
- /// </summary>
- public List<Guid> SoundtrackIds { get; set; }
-
protected BaseItem()
{
Genres = new List<string>();
@@ -43,7 +38,6 @@ namespace MediaBrowser.Controller.Entities
Tags = new List<string>();
ThemeSongIds = new List<Guid>();
ThemeVideoIds = new List<Guid>();
- SoundtrackIds = new List<Guid>();
LocalTrailerIds = new List<Guid>();
LockedFields = new List<MetadataFields>();
Taglines = new List<string>();
diff --git a/MediaBrowser.Controller/Entities/Game.cs b/MediaBrowser.Controller/Entities/Game.cs
index 8a33eeb86..e8374c274 100644
--- a/MediaBrowser.Controller/Entities/Game.cs
+++ b/MediaBrowser.Controller/Entities/Game.cs
@@ -1,13 +1,17 @@
using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
namespace MediaBrowser.Controller.Entities
{
- public class Game : BaseItem
+ public class Game : BaseItem, IHasSoundtracks
{
+ public List<Guid> SoundtrackIds { get; set; }
+
public Game()
{
MultiPartGameFiles = new List<string>();
+ SoundtrackIds = new List<Guid>();
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/IHasSoundtracks.cs b/MediaBrowser.Controller/Entities/IHasSoundtracks.cs
new file mode 100644
index 000000000..31defc9f4
--- /dev/null
+++ b/MediaBrowser.Controller/Entities/IHasSoundtracks.cs
@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+
+namespace MediaBrowser.Controller.Entities
+{
+ /// <summary>
+ /// Interface IHasSoundtracks
+ /// </summary>
+ public interface IHasSoundtracks
+ {
+ /// <summary>
+ /// Gets or sets the soundtrack ids.
+ /// </summary>
+ /// <value>The soundtrack ids.</value>
+ List<Guid> SoundtrackIds { get; set; }
+ }
+}
diff --git a/MediaBrowser.Controller/Entities/Movies/Movie.cs b/MediaBrowser.Controller/Entities/Movies/Movie.cs
index 54ad9c1c9..eef348f61 100644
--- a/MediaBrowser.Controller/Entities/Movies/Movie.cs
+++ b/MediaBrowser.Controller/Entities/Movies/Movie.cs
@@ -11,13 +11,16 @@ namespace MediaBrowser.Controller.Entities.Movies
/// <summary>
/// Class Movie
/// </summary>
- public class Movie : Video, IHasCriticRating
+ public class Movie : Video, IHasCriticRating, IHasSoundtracks
{
public List<Guid> SpecialFeatureIds { get; set; }
+ public List<Guid> SoundtrackIds { get; set; }
+
public Movie()
{
SpecialFeatureIds = new List<Guid>();
+ SoundtrackIds = new List<Guid>();
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs
index 96b120b8f..95d346733 100644
--- a/MediaBrowser.Controller/Entities/TV/Episode.cs
+++ b/MediaBrowser.Controller/Entities/TV/Episode.cs
@@ -193,6 +193,7 @@ namespace MediaBrowser.Controller.Entities.TV
return false;
}
+ [IgnoreDataMember]
public bool IsMissingEpisode
{
get
@@ -201,11 +202,13 @@ namespace MediaBrowser.Controller.Entities.TV
}
}
+ [IgnoreDataMember]
public bool IsUnaired
{
get { return PremiereDate.HasValue && PremiereDate.Value.ToLocalTime().Date >= DateTime.Now.Date; }
}
+ [IgnoreDataMember]
public bool IsVirtualUnaired
{
get { return LocationType == Model.Entities.LocationType.Virtual && IsUnaired; }
diff --git a/MediaBrowser.Controller/Entities/TV/Season.cs b/MediaBrowser.Controller/Entities/TV/Season.cs
index 5a53e8c0f..97a09b7b5 100644
--- a/MediaBrowser.Controller/Entities/TV/Season.cs
+++ b/MediaBrowser.Controller/Entities/TV/Season.cs
@@ -149,21 +149,25 @@ namespace MediaBrowser.Controller.Entities.TV
return IndexNumber != null ? IndexNumber.Value.ToString("0000") : Name;
}
+ [IgnoreDataMember]
public bool IsMissingSeason
{
get { return LocationType == Model.Entities.LocationType.Virtual && Children.OfType<Episode>().All(i => i.IsMissingEpisode); }
}
+ [IgnoreDataMember]
public bool IsUnaired
{
get { return Children.OfType<Episode>().All(i => i.IsUnaired); }
}
+ [IgnoreDataMember]
public bool IsVirtualUnaired
{
get { return LocationType == Model.Entities.LocationType.Virtual && IsUnaired; }
}
+ [IgnoreDataMember]
public bool IsMissingOrVirtualUnaired
{
get { return LocationType == Model.Entities.LocationType.Virtual && Children.OfType<Episode>().All(i => i.IsVirtualUnaired || i.IsMissingEpisode); }
diff --git a/MediaBrowser.Controller/Entities/TV/Series.cs b/MediaBrowser.Controller/Entities/TV/Series.cs
index 11fb198c2..02ea50c6b 100644
--- a/MediaBrowser.Controller/Entities/TV/Series.cs
+++ b/MediaBrowser.Controller/Entities/TV/Series.cs
@@ -11,9 +11,10 @@ namespace MediaBrowser.Controller.Entities.TV
/// <summary>
/// Class Series
/// </summary>
- public class Series : Folder
+ public class Series : Folder, IHasSoundtracks
{
public List<Guid> SpecialFeatureIds { get; set; }
+ public List<Guid> SoundtrackIds { get; set; }
public int SeasonCount { get; set; }
@@ -22,6 +23,7 @@ namespace MediaBrowser.Controller.Entities.TV
AirDays = new List<DayOfWeek>();
SpecialFeatureIds = new List<Guid>();
+ SoundtrackIds = new List<Guid>();
}
/// <summary>
diff --git a/MediaBrowser.Controller/Entities/Trailer.cs b/MediaBrowser.Controller/Entities/Trailer.cs
index c9fe471b3..26814ad40 100644
--- a/MediaBrowser.Controller/Entities/Trailer.cs
+++ b/MediaBrowser.Controller/Entities/Trailer.cs
@@ -1,4 +1,5 @@
using MediaBrowser.Model.Entities;
+using System;
using System.Collections.Generic;
using System.Runtime.Serialization;
@@ -7,12 +8,15 @@ namespace MediaBrowser.Controller.Entities
/// <summary>
/// Class Trailer
/// </summary>
- public class Trailer : Video, IHasCriticRating
+ public class Trailer : Video, IHasCriticRating, IHasSoundtracks
{
+ public List<Guid> SoundtrackIds { get; set; }
+
public Trailer()
{
RemoteTrailers = new List<MediaUrl>();
Taglines = new List<string>();
+ SoundtrackIds = new List<Guid>();
}
/// <summary>