fix slow episode responses

This commit is contained in:
Luke Pulverenti 2016-08-25 02:44:24 -04:00
parent 29d0b21a78
commit 916bda6f32
2 changed files with 28 additions and 23 deletions

View file

@ -135,7 +135,10 @@ namespace MediaBrowser.Controller.Entities.TV
[IgnoreDataMember]
public Series Series
{
get { return FindParent<Series>(); }
get
{
return SeriesId.HasValue ? (LibraryManager.GetItemById(SeriesId.Value) as Series) : null;
}
}
[IgnoreDataMember]
@ -143,24 +146,7 @@ namespace MediaBrowser.Controller.Entities.TV
{
get
{
var season = FindParent<Season>();
// Episodes directly in series folder
if (season == null)
{
var series = Series;
if (series != null && ParentIndexNumber.HasValue)
{
var findNumber = ParentIndexNumber.Value;
season = series.Children
.OfType<Season>()
.FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == findNumber);
}
}
return season;
return SeasonId.HasValue ? (LibraryManager.GetItemById(SeasonId.Value) as Season) : null;
}
}
@ -193,7 +179,23 @@ namespace MediaBrowser.Controller.Entities.TV
public Guid? FindSeasonId()
{
var season = Season;
var season = FindParent<Season>();
// Episodes directly in series folder
if (season == null)
{
var series = Series;
if (series != null && ParentIndexNumber.HasValue)
{
var findNumber = ParentIndexNumber.Value;
season = series.Children
.OfType<Season>()
.FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == findNumber);
}
}
return season == null ? (Guid?)null : season.Id;
}
@ -263,7 +265,7 @@ namespace MediaBrowser.Controller.Entities.TV
public Guid? FindSeriesId()
{
var series = Series;
var series = FindParent<Series>();
return series == null ? (Guid?)null : series.Id;
}

View file

@ -99,7 +99,10 @@ namespace MediaBrowser.Controller.Entities.TV
[IgnoreDataMember]
public Series Series
{
get { return FindParent<Series>(); }
get
{
return SeriesId.HasValue ? (LibraryManager.GetItemById(SeriesId.Value) as Series) : null;
}
}
[IgnoreDataMember]
@ -241,7 +244,7 @@ namespace MediaBrowser.Controller.Entities.TV
public Guid? FindSeriesId()
{
var series = Series;
var series = FindParent<Series>();
return series == null ? (Guid?)null : series.Id;
}