Populate ThemeVideoIds and ThemeSongIds

This commit is contained in:
cvium 2020-08-11 22:04:41 +02:00
parent 75bb127599
commit 1ae3dc202c

View File

@ -58,8 +58,6 @@ namespace MediaBrowser.Controller.Entities
protected BaseItem()
{
ThemeSongIds = Array.Empty<Guid>();
ThemeVideoIds = Array.Empty<Guid>();
Tags = Array.Empty<string>();
Genres = Array.Empty<string>();
Studios = Array.Empty<string>();
@ -98,12 +96,52 @@ namespace MediaBrowser.Controller.Entities
};
[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]
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]
public string PreferredMetadataCountryCode { get; set; }
[JsonIgnore]
public string PreferredMetadataLanguage { get; set; }
@ -633,6 +671,9 @@ namespace MediaBrowser.Controller.Entities
}
private string _sortName;
private Guid[] _themeSongIds;
private Guid[] _themeVideoIds;
/// <summary>
/// Gets the name of the sort.
/// </summary>
@ -2909,7 +2950,7 @@ namespace MediaBrowser.Controller.Entities
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()