HistoryProvider will return History Items with Episode and SeriesTitle.

pull/4/head
Mark McDowall 13 years ago
parent 5c055ebb9a
commit 0972c956b8

@ -25,9 +25,18 @@ namespace NzbDrone.Core.Providers
{ {
} }
public virtual IEnumerable<History> AllItems() public virtual List<History> AllItems()
{ {
return _database.Query<History>(""); return _database.Fetch<History>("");
}
public virtual List<History> AllItemsWithRelationships()
{
return _database.Fetch<History, Episode>(@"
SELECT History.*, Series.Title as SeriesTitle, Episodes.* FROM History
INNER JOIN Series ON History.SeriesId = Series.SeriesId
INNER JOIN Episodes ON History.EpisodeId = Episodes.EpisodeId
");
} }
public virtual void Purge() public virtual void Purge()

@ -16,5 +16,11 @@ namespace NzbDrone.Core.Repository
public DateTime Date { get; set; } public DateTime Date { get; set; }
public bool IsProper { get; set; } public bool IsProper { get; set; }
public string Indexer { get; set; } public string Indexer { get; set; }
[ResultColumn]
public Episode Episode { get; set; }
[ResultColumn]
public string SeriesTitle { get; set; }
} }
} }

@ -46,30 +46,20 @@ namespace NzbDrone.Web.Controllers
[GridAction] [GridAction]
public ActionResult _AjaxBinding() public ActionResult _AjaxBinding()
{ {
var historyDb = _historyProvider.AllItems(); var history = _historyProvider.AllItemsWithRelationships().Select(h => new HistoryModel
var history = new List<HistoryModel>();
foreach (var item in historyDb)
{ {
var episode = _episodeProvider.GetEpisode(item.EpisodeId); HistoryId = h.HistoryId,
var series = _seriesProvider.GetSeries(item.SeriesId); SeasonNumber = h.Episode.SeasonNumber,
EpisodeNumber = h.Episode.EpisodeNumber,
history.Add(new HistoryModel EpisodeTitle = h.Episode.Title,
{ EpisodeOverview = h.Episode.Overview,
HistoryId = item.HistoryId, SeriesTitle = h.SeriesTitle,
SeasonNumber = episode.SeasonNumber, NzbTitle = h.NzbTitle,
EpisodeNumber = episode.EpisodeNumber, Quality = h.Quality.ToString(),
EpisodeTitle = episode.Title, IsProper = h.IsProper,
EpisodeOverview = episode.Overview, Date = h.Date,
SeriesTitle = series.Title, Indexer = h.Indexer
NzbTitle = item.NzbTitle,
Quality = item.Quality.ToString(),
IsProper = item.IsProper,
Date = item.Date,
Indexer = item.Indexer
}); });
}
return View(new GridModel(history)); return View(new GridModel(history));
} }

Loading…
Cancel
Save