mirror of
https://github.com/Ombi-app/Ombi.git
synced 2025-07-11 15:56:05 -07:00
Added the Sonarr check for episodes #254
This commit is contained in:
parent
8f4adf780b
commit
f271b0b4ce
1 changed files with 17 additions and 4 deletions
|
@ -948,15 +948,27 @@ namespace PlexRequests.UI.Modules
|
||||||
|
|
||||||
private async Task<Response> GetEpisodes()
|
private async Task<Response> GetEpisodes()
|
||||||
{
|
{
|
||||||
var allResults = await RequestService.GetAllAsync();
|
|
||||||
var model = new List<EpisodeListViewModel>();
|
|
||||||
var seriesId = (int)Request.Query.tvId;
|
var seriesId = (int)Request.Query.tvId;
|
||||||
|
var s = await SonarrService.GetSettingsAsync();
|
||||||
|
var allResults = await RequestService.GetAllAsync();
|
||||||
|
var seriesTask = Task.Run(
|
||||||
|
() =>
|
||||||
|
{
|
||||||
|
var allSeries = SonarrApi.GetSeries(s.ApiKey, s.FullUri);
|
||||||
|
var selectedSeries = allSeries.FirstOrDefault(x => x.tvdbId == seriesId);
|
||||||
|
return selectedSeries;
|
||||||
|
});
|
||||||
|
|
||||||
|
var model = new List<EpisodeListViewModel>();
|
||||||
|
|
||||||
var enumerable = allResults as RequestedModel[] ?? allResults.ToArray();
|
var enumerable = allResults as RequestedModel[] ?? allResults.ToArray();
|
||||||
|
|
||||||
var dbDbShow = enumerable.FirstOrDefault(x => x.Type == RequestType.TvShow && x.TvDbId == seriesId.ToString());
|
var dbDbShow = enumerable.FirstOrDefault(x => x.Type == RequestType.TvShow && x.TvDbId == seriesId.ToString());
|
||||||
var show = await Task.Run(() => TvApi.ShowLookupByTheTvDbId(seriesId));
|
var show = await Task.Run(() => TvApi.ShowLookupByTheTvDbId(seriesId));
|
||||||
var seasons = await Task.Run(() => TvApi.EpisodeLookup(show.id));
|
var seasons = await Task.Run(() => TvApi.EpisodeLookup(show.id));
|
||||||
|
|
||||||
|
var sonarrSeries = await seriesTask;
|
||||||
|
var sonarrEpisodes = SonarrApi.GetEpisodes(sonarrSeries.id.ToString(), s.ApiKey, s.FullUri).ToList();
|
||||||
|
|
||||||
foreach (var ep in seasons)
|
foreach (var ep in seasons)
|
||||||
{
|
{
|
||||||
|
@ -965,13 +977,14 @@ namespace PlexRequests.UI.Modules
|
||||||
ep.number == episodesModel.EpisodeNumber && ep.season == episodesModel.SeasonNumber) ?? false;
|
ep.number == episodesModel.EpisodeNumber && ep.season == episodesModel.SeasonNumber) ?? false;
|
||||||
|
|
||||||
var alreadyInPlex = Checker.IsEpisodeAvailable(seriesId.ToString(), ep.season, ep.number);
|
var alreadyInPlex = Checker.IsEpisodeAvailable(seriesId.ToString(), ep.season, ep.number);
|
||||||
|
var inSonarr = sonarrEpisodes.Any(x => x.seasonNumber == ep.season && x.episodeNumber == ep.number);
|
||||||
|
|
||||||
model.Add(new EpisodeListViewModel
|
model.Add(new EpisodeListViewModel
|
||||||
{
|
{
|
||||||
Id = show.id,
|
Id = show.id,
|
||||||
SeasonNumber = ep.season,
|
SeasonNumber = ep.season,
|
||||||
EpisodeNumber = ep.number,
|
EpisodeNumber = ep.number,
|
||||||
Requested = requested || alreadyInPlex,
|
Requested = requested || alreadyInPlex || inSonarr,
|
||||||
Name = ep.name,
|
Name = ep.name,
|
||||||
EpisodeId = ep.id
|
EpisodeId = ep.id
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue