From 6ca771cc7906ae6524f737ae9bf0bc1b916efb40 Mon Sep 17 00:00:00 2001 From: Luke Pulverenti Date: Wed, 15 Oct 2014 23:26:39 -0400 Subject: move user image into profile settings --- .../Entities/DayOfWeekHelper.cs | 71 ++++++++++++++++++++++ MediaBrowser.Controller/Entities/TV/Episode.cs | 41 +++++++------ MediaBrowser.Controller/Entities/User.cs | 3 +- .../MediaBrowser.Controller.csproj | 1 + 4 files changed, 95 insertions(+), 21 deletions(-) create mode 100644 MediaBrowser.Controller/Entities/DayOfWeekHelper.cs (limited to 'MediaBrowser.Controller') diff --git a/MediaBrowser.Controller/Entities/DayOfWeekHelper.cs b/MediaBrowser.Controller/Entities/DayOfWeekHelper.cs new file mode 100644 index 000000000..80ba206cc --- /dev/null +++ b/MediaBrowser.Controller/Entities/DayOfWeekHelper.cs @@ -0,0 +1,71 @@ +using MediaBrowser.Model.Configuration; +using System; +using System.Collections.Generic; + +namespace MediaBrowser.Controller.Entities +{ + public static class DayOfWeekHelper + { + public static List GetDaysOfWeek(DynamicDayOfWeek day) + { + return GetDaysOfWeek(new List { day }); + } + + public static List GetDaysOfWeek(List days) + { + var list = new List(); + + if (days.Contains(DynamicDayOfWeek.Sunday) || + days.Contains(DynamicDayOfWeek.Weekend) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Sunday); + } + + if (days.Contains(DynamicDayOfWeek.Saturday) || + days.Contains(DynamicDayOfWeek.Weekend) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Saturday); + } + + if (days.Contains(DynamicDayOfWeek.Monday) || + days.Contains(DynamicDayOfWeek.Weekday) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Monday); + } + + if (days.Contains(DynamicDayOfWeek.Monday) || + days.Contains(DynamicDayOfWeek.Weekday) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Tuesday + ); + } + + if (days.Contains(DynamicDayOfWeek.Wednesday) || + days.Contains(DynamicDayOfWeek.Weekday) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Wednesday); + } + + if (days.Contains(DynamicDayOfWeek.Thursday) || + days.Contains(DynamicDayOfWeek.Weekday) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Thursday); + } + + if (days.Contains(DynamicDayOfWeek.Friday) || + days.Contains(DynamicDayOfWeek.Weekday) || + days.Contains(DynamicDayOfWeek.Everyday)) + { + list.Add(DayOfWeek.Friday); + } + + return list; + } + } +} diff --git a/MediaBrowser.Controller/Entities/TV/Episode.cs b/MediaBrowser.Controller/Entities/TV/Episode.cs index b95c7df9c..87074ca02 100644 --- a/MediaBrowser.Controller/Entities/TV/Episode.cs +++ b/MediaBrowser.Controller/Entities/TV/Episode.cs @@ -146,7 +146,27 @@ namespace MediaBrowser.Controller.Entities.TV [IgnoreDataMember] public Season Season { - get { return FindParent(); } + get + { + var season = FindParent(); + + // Episodes directly in series folder + if (season == null) + { + var series = FindParent(); + + if (ParentIndexNumber.HasValue) + { + var findNumber = ParentIndexNumber.Value; + + season = series.Children + .OfType() + .FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == findNumber); + } + } + + return season; + } } [IgnoreDataMember] @@ -237,25 +257,6 @@ namespace MediaBrowser.Controller.Entities.TV return season.Id; } - var seasonNumber = ParentIndexNumber; - - // Parent is a Series - if (seasonNumber.HasValue) - { - var series = Series; - - if (series != null) - { - season = series.Children.OfType() - .FirstOrDefault(i => i.IndexNumber.HasValue && i.IndexNumber.Value == seasonNumber.Value); - - if (season != null) - { - return season.Id; - } - } - } - return null; } } diff --git a/MediaBrowser.Controller/Entities/User.cs b/MediaBrowser.Controller/Entities/User.cs index 6ba8701f7..5d1a21387 100644 --- a/MediaBrowser.Controller/Entities/User.cs +++ b/MediaBrowser.Controller/Entities/User.cs @@ -287,7 +287,8 @@ namespace MediaBrowser.Controller.Entities var localTime = date.ToLocalTime(); - return localTime.DayOfWeek == schedule.DayOfWeek && IsWithinTime(schedule, localTime); + return DayOfWeekHelper.GetDaysOfWeek(schedule.DayOfWeek).Contains(localTime.DayOfWeek) && + IsWithinTime(schedule, localTime); } private bool IsWithinTime(AccessSchedule schedule, DateTime localTime) diff --git a/MediaBrowser.Controller/MediaBrowser.Controller.csproj b/MediaBrowser.Controller/MediaBrowser.Controller.csproj index 7039a00eb..7e2892c6e 100644 --- a/MediaBrowser.Controller/MediaBrowser.Controller.csproj +++ b/MediaBrowser.Controller/MediaBrowser.Controller.csproj @@ -123,6 +123,7 @@ + -- cgit v1.2.3