aboutsummaryrefslogtreecommitdiff
path: root/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs
diff options
context:
space:
mode:
Diffstat (limited to 'MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs')
-rw-r--r--MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs33
1 files changed, 28 insertions, 5 deletions
diff --git a/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs b/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs
index 46c3df07b..7e6a252cd 100644
--- a/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs
+++ b/MediaBrowser.Server.Implementations/Sorting/AirTimeComparer.cs
@@ -26,13 +26,36 @@ namespace MediaBrowser.Server.Implementations.Sorting
/// <returns>System.String.</returns>
private DateTime GetValue(BaseItem x)
{
- var series = (x as Series) ?? x.FindParent<Series>();
+ var series = x as Series;
- DateTime result;
- if (series != null && DateTime.TryParse(series.AirTime, out result))
+ if (series == null)
{
- return result;
- }
+ var season = x as Season;
+
+ if (season != null)
+ {
+ series = season.Series;
+ }
+ else
+ {
+ var episode = x as Episode;
+
+ if (episode != null)
+ {
+ series = episode.Series;
+ }
+ }
+ }
+
+ if (series != null)
+ {
+ DateTime result;
+ if (DateTime.TryParse(series.AirTime, out result))
+ {
+ return result;
+ }
+ }
+
return DateTime.MinValue;
}