From 381d67e56b3245d0e4c5dcaae1dc13803a882524 Mon Sep 17 00:00:00 2001 From: Mark McDowall Date: Sun, 5 Jun 2011 15:19:07 -0700 Subject: [PATCH] Renamed image is in effect. Series Detail by series will now store episodeFileId. --- NzbDrone.Web/Controllers/SeriesController.cs | 61 ++++++++++++-------- NzbDrone.Web/Models/EpisodeModel.cs | 1 + NzbDrone.Web/NzbDrone.Web.csproj | 2 +- 3 files changed, 39 insertions(+), 25 deletions(-) diff --git a/NzbDrone.Web/Controllers/SeriesController.cs b/NzbDrone.Web/Controllers/SeriesController.cs index feb2a8936..aa1ebefc4 100644 --- a/NzbDrone.Web/Controllers/SeriesController.cs +++ b/NzbDrone.Web/Controllers/SeriesController.cs @@ -123,20 +123,7 @@ namespace NzbDrone.Web.Controllers [GridAction] public ActionResult _AjaxSeasonGrid(int seriesId, int seasonNumber) { - var episodes = _episodeProvider.GetEpisodesBySeason(seriesId, seasonNumber).Select(c => new EpisodeModel - { - EpisodeId = c.EpisodeId, - EpisodeNumber = c.EpisodeNumber, - SeasonNumber = c.SeasonNumber, - Title = c.Title, - Overview = c.Overview, - AirDate = c.AirDate, - Path = GetEpisodePath(c.EpisodeFile), - Status = c.Status.ToString(), - Quality = c.EpisodeFile == null - ? String.Empty - : c.EpisodeFile.Quality.ToString() - }); + var episodes = GetEpisodeModels(_episodeProvider.GetEpisodesBySeason(seriesId, seasonNumber)); return View(new GridModel(episodes)); } @@ -151,16 +138,6 @@ namespace NzbDrone.Web.Controllers }, JsonRequestBehavior.AllowGet); } - //Local Helpers - private string GetEpisodePath(EpisodeFile file) - { - if (file == null) - return String.Empty; - - //Return the path relative to the Series' Folder - return file.Path; - } - public ActionResult SearchForSeries(string seriesName) { var model = new List(); @@ -281,6 +258,42 @@ namespace NzbDrone.Web.Controllers return series; } + private List GetEpisodeModels(IList episodesInDb) + { + var episodes = new List(); + + foreach (var e in episodesInDb) + { + var episodeFile = e.EpisodeFile; + var episodePath = String.Empty; + var episodeFileId = 0; + + if (episodeFile != null) + { + episodePath = episodeFile.Path; + episodeFileId = episodeFile.EpisodeFileId; + } + + episodes.Add(new EpisodeModel + { + EpisodeId = e.EpisodeId, + EpisodeNumber = e.EpisodeNumber, + SeasonNumber = e.SeasonNumber, + Title = e.Title, + Overview = e.Overview, + AirDate = e.AirDate, + Path = episodePath, + EpisodeFileId = episodeFileId, + Status = e.Status.ToString(), + Quality = e.EpisodeFile == null + ? String.Empty + : e.EpisodeFile.Quality.ToString() + }); + } + + return episodes; + } + private string GetSeasonString(int seasonNumber) { if (seasonNumber == 0) diff --git a/NzbDrone.Web/Models/EpisodeModel.cs b/NzbDrone.Web/Models/EpisodeModel.cs index cb4af6434..5da326f1b 100644 --- a/NzbDrone.Web/Models/EpisodeModel.cs +++ b/NzbDrone.Web/Models/EpisodeModel.cs @@ -7,6 +7,7 @@ namespace NzbDrone.Web.Models { public string Title { get; set; } public int EpisodeId { get; set; } + public int EpisodeFileId { get; set; } public int EpisodeNumber { get; set; } public int SeasonNumber { get; set; } public string Overview { get; set; } diff --git a/NzbDrone.Web/NzbDrone.Web.csproj b/NzbDrone.Web/NzbDrone.Web.csproj index f894166cd..4ceff1bfc 100644 --- a/NzbDrone.Web/NzbDrone.Web.csproj +++ b/NzbDrone.Web/NzbDrone.Web.csproj @@ -606,7 +606,7 @@ Always - + Always