Populate ThemeVideoIds and ThemeSongIds

pull/3879/head
cvium 4 years ago
parent 75bb127599
commit 1ae3dc202c

@ -58,8 +58,6 @@ namespace MediaBrowser.Controller.Entities
protected BaseItem() protected BaseItem()
{ {
ThemeSongIds = Array.Empty<Guid>();
ThemeVideoIds = Array.Empty<Guid>();
Tags = Array.Empty<string>(); Tags = Array.Empty<string>();
Genres = Array.Empty<string>(); Genres = Array.Empty<string>();
Studios = Array.Empty<string>(); Studios = Array.Empty<string>();
@ -98,12 +96,52 @@ namespace MediaBrowser.Controller.Entities
}; };
[JsonIgnore] [JsonIgnore]
public Guid[] ThemeSongIds { get; set; } public Guid[] ThemeSongIds
{
get
{
if (_themeSongIds == null)
{
_themeSongIds = GetExtras()
.Where(extra => extra.ExtraType == Model.Entities.ExtraType.ThemeSong)
.Select(song => song.Id)
.ToArray();
}
return _themeSongIds;
}
private set
{
_themeSongIds = value;
}
}
[JsonIgnore] [JsonIgnore]
public Guid[] ThemeVideoIds { get; set; } public Guid[] ThemeVideoIds
{
get
{
if (_themeVideoIds == null)
{
_themeVideoIds = GetExtras()
.Where(extra => extra.ExtraType == Model.Entities.ExtraType.ThemeVideo)
.Select(song => song.Id)
.ToArray();
}
return _themeVideoIds;
}
private set
{
_themeVideoIds = value;
}
}
[JsonIgnore] [JsonIgnore]
public string PreferredMetadataCountryCode { get; set; } public string PreferredMetadataCountryCode { get; set; }
[JsonIgnore] [JsonIgnore]
public string PreferredMetadataLanguage { get; set; } public string PreferredMetadataLanguage { get; set; }
@ -633,6 +671,9 @@ namespace MediaBrowser.Controller.Entities
} }
private string _sortName; private string _sortName;
private Guid[] _themeSongIds;
private Guid[] _themeVideoIds;
/// <summary> /// <summary>
/// Gets the name of the sort. /// Gets the name of the sort.
/// </summary> /// </summary>
@ -2909,7 +2950,7 @@ namespace MediaBrowser.Controller.Entities
public IEnumerable<BaseItem> GetThemeSongs() public IEnumerable<BaseItem> GetThemeSongs()
{ {
return ThemeVideoIds.Select(LibraryManager.GetItemById).Where(i => i.ExtraType.Equals(Model.Entities.ExtraType.ThemeSong)).OrderBy(i => i.SortName); return ThemeSongIds.Select(LibraryManager.GetItemById).Where(i => i.ExtraType.Equals(Model.Entities.ExtraType.ThemeSong)).OrderBy(i => i.SortName);
} }
public IEnumerable<BaseItem> GetThemeVideos() public IEnumerable<BaseItem> GetThemeVideos()

Loading…
Cancel
Save