Fix season names

This commit is contained in:
Shadowghost
2024-05-15 01:23:23 +02:00
parent f396a95f05
commit 48228430c0
4 changed files with 31 additions and 15 deletions

View File

@@ -25,19 +25,18 @@ namespace MediaBrowser.Controller.Entities.TV
/// </summary>
public class Series : Folder, IHasTrailers, IHasDisplayOrder, IHasLookupInfo<SeriesInfo>, IMetadataContainer
{
private readonly Dictionary<int, string> _seasonNames;
public Series()
{
AirDays = Array.Empty<DayOfWeek>();
SeasonNames = new Dictionary<int, string>();
_seasonNames = new Dictionary<int, string>();
}
public DayOfWeek[] AirDays { get; set; }
public string AirTime { get; set; }
[JsonIgnore]
public Dictionary<int, string> SeasonNames { get; set; }
[JsonIgnore]
public override bool SupportsAddingToPlaylist => true;
@@ -213,6 +212,24 @@ namespace MediaBrowser.Controller.Entities.TV
return LibraryManager.GetItemList(query);
}
public Dictionary<int, string> GetSeasonNames()
{
if (_seasonNames.Count > 0)
{
return _seasonNames;
}
return Children.OfType<Season>()
.Where(s => s.IndexNumber.HasValue)
.DistinctBy(s => s.IndexNumber)
.ToDictionary(s => s.IndexNumber.Value, s => s.Name);
}
public void SetSeasonName(int index, string name)
{
_seasonNames[index] = name;
}
private void SetSeasonQueryOptions(InternalItemsQuery query, User user)
{
var seriesKey = GetUniqueSeriesKey(this);