From 93355a4ae191fe570bf93c802cb06fe49522ca83 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Mon, 6 Feb 2012 17:22:17 -0800 Subject: [PATCH] Upcoming grid NzbDroned. Bye Telerik Grid. --- NzbDrone.Core/Model/UpcomingEpisodesModel.cs | 12 - NzbDrone.Core/NzbDrone.Core.csproj | 1 - .../Providers/UpcomingEpisodesProvider.cs | 14 - NzbDrone.Web/Content/Grid.css | 19 +- .../Controllers/UpcomingController.cs | 83 +----- NzbDrone.Web/Models/UpcomingEpisodesModel.cs | 15 + NzbDrone.Web/NzbDrone.Web.csproj | 9 + NzbDrone.Web/Views/Series/Details.cshtml | 2 +- NzbDrone.Web/Views/Series/Episode.cshtml | 2 +- NzbDrone.Web/Views/Upcoming/Index.cshtml | 280 +++++++----------- .../Views/Upcoming/UpcomingEpisode.cshtml | 48 +++ 11 files changed, 210 insertions(+), 275 deletions(-) delete mode 100644 NzbDrone.Core/Model/UpcomingEpisodesModel.cs create mode 100644 NzbDrone.Web/Models/UpcomingEpisodesModel.cs create mode 100644 NzbDrone.Web/Views/Upcoming/UpcomingEpisode.cshtml diff --git a/NzbDrone.Core/Model/UpcomingEpisodesModel.cs b/NzbDrone.Core/Model/UpcomingEpisodesModel.cs deleted file mode 100644 index b03cc35f4..000000000 --- a/NzbDrone.Core/Model/UpcomingEpisodesModel.cs +++ /dev/null @@ -1,12 +0,0 @@ -using System.Collections.Generic; -using NzbDrone.Core.Repository; - -namespace NzbDrone.Core.Model -{ - public class UpcomingEpisodesModel - { - public List Yesterday { get; set; } - public List Today { get; set; } - public List Week { get; set; } - } -} \ No newline at end of file diff --git a/NzbDrone.Core/NzbDrone.Core.csproj b/NzbDrone.Core/NzbDrone.Core.csproj index 796fbbb2c..78c5309a6 100644 --- a/NzbDrone.Core/NzbDrone.Core.csproj +++ b/NzbDrone.Core/NzbDrone.Core.csproj @@ -325,7 +325,6 @@ - diff --git a/NzbDrone.Core/Providers/UpcomingEpisodesProvider.cs b/NzbDrone.Core/Providers/UpcomingEpisodesProvider.cs index 2f4e5651e..b5488f888 100644 --- a/NzbDrone.Core/Providers/UpcomingEpisodesProvider.cs +++ b/NzbDrone.Core/Providers/UpcomingEpisodesProvider.cs @@ -18,20 +18,6 @@ namespace NzbDrone.Core.Providers _database = database; } - public virtual UpcomingEpisodesModel Upcoming() - { - var allEps = _database.Fetch(@"SELECT * FROM Episodes - INNER JOIN Series ON Episodes.SeriesId = Series.SeriesId - WHERE Ignored = 0 AND AirDate BETWEEN @0 AND @1", - DateTime.Today.AddDays(-1), DateTime.Today.AddDays(8)); - - var yesterday = allEps.Where(e => e.AirDate == DateTime.Today.AddDays(-1)).ToList(); - var today = allEps.Where(e => e.AirDate == DateTime.Today).ToList(); - var week = allEps.Where(e => e.AirDate > DateTime.Today).ToList(); - - return new UpcomingEpisodesModel { Yesterday = yesterday, Today = today, Week = week }; - } - public virtual List Yesterday() { return _database.Fetch(@"SELECT * FROM Episodes diff --git a/NzbDrone.Web/Content/Grid.css b/NzbDrone.Web/Content/Grid.css index 9066a459b..c7ab3f8a2 100644 --- a/NzbDrone.Web/Content/Grid.css +++ b/NzbDrone.Web/Content/Grid.css @@ -44,6 +44,15 @@ border-style: inset; border-color: #EEEEEE; } + +.title-row +{ + font-family: "Segoe UI Light" , "Open Sans" , "Segoe UI" , sans-serif; + font-size: 17px; + background-color: grey; + font-weight: lighter; + color: white; +} .detail-row { @@ -51,6 +60,12 @@ } /* Colour alternating rows */ +.seriesTable .alt-row +{ + background: #f0f5ff; +} + +/* .seriesTable tr:nth-child(4n) { background: #f0f5ff; @@ -59,7 +74,7 @@ .seriesTable tr:nth-child(4n+1) { background: #f0f5ff; -} +}*/ /* Episode Grid Row Colouring */ .episodeIgnored @@ -72,6 +87,8 @@ background-color: #F5A9A9; } + + /* Telerik Grid */ .t-grid td { diff --git a/NzbDrone.Web/Controllers/UpcomingController.cs b/NzbDrone.Web/Controllers/UpcomingController.cs index 9f887bf2a..7f562c2c4 100644 --- a/NzbDrone.Web/Controllers/UpcomingController.cs +++ b/NzbDrone.Web/Controllers/UpcomingController.cs @@ -4,6 +4,7 @@ using System.Linq; using System.Web.Mvc; using NzbDrone.Core; using NzbDrone.Core.Providers; +using NzbDrone.Core.Repository; using NzbDrone.Web.Models; using Telerik.Web.Mvc; @@ -23,13 +24,20 @@ namespace NzbDrone.Web.Controllers public ActionResult Index() { - return View(); + var upcoming = new UpcomingEpisodesModel + { + Yesterday = GetUpcomingEpisodeModels(_upcomingEpisodesProvider.Yesterday()), + Today = GetUpcomingEpisodeModels(_upcomingEpisodesProvider.Today()), + Tomorrow = GetUpcomingEpisodeModels(_upcomingEpisodesProvider.Tomorrow()), + Week = GetUpcomingEpisodeModels(_upcomingEpisodesProvider.Week()) + }; + + return View(upcoming); } - [GridAction] - public ActionResult _AjaxBindingYesterday() + private List GetUpcomingEpisodeModels(List episodes) { - var upcoming = _upcomingEpisodesProvider.Yesterday().Select(u => new UpcomingEpisodeModel + return episodes.Select(u => new UpcomingEpisodeModel { SeriesId = u.Series.SeriesId, EpisodeId = u.EpisodeId, @@ -42,72 +50,7 @@ namespace NzbDrone.Web.Controllers AirDate = u.AirDate.Value.ToBestDateString(), AirTime = String.IsNullOrEmpty(u.Series.AirTimes) ? "?" : Convert.ToDateTime(u.Series.AirTimes).ToShortTimeString(), Status = u.Status.ToString() - }); - - return View(new GridModel(upcoming)); - } - - [GridAction] - public ActionResult _AjaxBindingToday() - { - var upcoming = _upcomingEpisodesProvider.Today().Select(u => new UpcomingEpisodeModel - { - SeriesId = u.Series.SeriesId, - EpisodeId = u.EpisodeId, - SeriesTitle = u.Series.Title, - SeasonNumber = u.SeasonNumber, - EpisodeNumber = u.EpisodeNumber, - Title = u.Title, - Overview = u.Overview, - AirDateTime = GetDateTime(u.AirDate.Value, u.Series.AirTimes), - AirDate = u.AirDate.Value.ToBestDateString(), - AirTime = String.IsNullOrEmpty(u.Series.AirTimes) ? "?" : Convert.ToDateTime(u.Series.AirTimes).ToShortTimeString(), - Status = u.Status.ToString() - }); - - return View(new GridModel(upcoming)); - } - - [GridAction] - public ActionResult _AjaxBindingTomorrow() - { - var upcoming = _upcomingEpisodesProvider.Tomorrow().Select(u => new UpcomingEpisodeModel - { - SeriesId = u.Series.SeriesId, - EpisodeId = u.EpisodeId, - SeriesTitle = u.Series.Title, - SeasonNumber = u.SeasonNumber, - EpisodeNumber = u.EpisodeNumber, - Title = u.Title, - Overview = u.Overview, - AirDateTime = GetDateTime(u.AirDate.Value, u.Series.AirTimes), - AirDate = u.AirDate.Value.ToBestDateString(), - AirTime = String.IsNullOrEmpty(u.Series.AirTimes) ? "?" : Convert.ToDateTime(u.Series.AirTimes).ToShortTimeString(), - Status = u.Status.ToString() - }); - - return View(new GridModel(upcoming)); - } - - [GridAction] - public ActionResult _AjaxBindingWeek() - { - var upcoming = _upcomingEpisodesProvider.Week().Select(u => new UpcomingEpisodeModel - { - SeriesId = u.Series.SeriesId, - EpisodeId = u.EpisodeId, - SeriesTitle = u.Series.Title, - SeasonNumber = u.SeasonNumber, - EpisodeNumber = u.EpisodeNumber, - Title = u.Title, - Overview = u.Overview, - AirDateTime = GetDateTime(u.AirDate.Value, u.Series.AirTimes), - AirDate = u.AirDate.Value.ToBestDateString(), - AirTime = String.IsNullOrEmpty(u.Series.AirTimes) ? "?" : Convert.ToDateTime(u.Series.AirTimes).ToShortTimeString(), - Status = u.Status.ToString() - }); - - return View(new GridModel(upcoming)); + }).OrderBy(e => e.AirDateTime).ToList(); } private DateTime GetDateTime(DateTime airDate, string airTime) diff --git a/NzbDrone.Web/Models/UpcomingEpisodesModel.cs b/NzbDrone.Web/Models/UpcomingEpisodesModel.cs new file mode 100644 index 000000000..411237491 --- /dev/null +++ b/NzbDrone.Web/Models/UpcomingEpisodesModel.cs @@ -0,0 +1,15 @@ +using System; +using System.Collections.Generic; +using NzbDrone.Core.Model; +using NzbDrone.Core.Repository; + +namespace NzbDrone.Web.Models +{ + public class UpcomingEpisodesModel + { + public List Yesterday { get; set; } + public List Today { get; set; } + public List Tomorrow { get; set; } + public List Week { get; set; } + } +} \ No newline at end of file diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index 7b56dcf9f..a78396926 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -228,6 +228,7 @@ + @@ -508,12 +509,14 @@ GlobalResourceProxyGenerator GridLocalization.en-US.designer.cs + Designer GlobalResourceProxyGenerator EditorLocalization.en-US.designer.cs + Designer @@ -552,6 +555,12 @@ + + + + + +