update season queries

This commit is contained in:
Luke Pulverenti
2016-08-18 01:56:10 -04:00
parent d6dc6ffe7e
commit cc62faa1c2
21 changed files with 492 additions and 387 deletions

View File

@@ -423,23 +423,14 @@ namespace MediaBrowser.Api
throw new ResourceNotFoundException("No series exists with Id " + request.Id);
}
var seasons = series.GetSeasons(user);
if (request.IsSpecialSeason.HasValue)
var seasons = (await series.GetItems(new InternalItemsQuery(user)
{
var val = request.IsSpecialSeason.Value;
IsMissing = request.IsMissing,
IsVirtualUnaired = request.IsVirtualUnaired,
IsSpecialSeason = request.IsSpecialSeason,
AdjacentTo = request.AdjacentTo
seasons = seasons.Where(i => i.IsSpecialSeason == val);
}
seasons = FilterVirtualSeasons(request, seasons);
// This must be the last filter
if (!string.IsNullOrEmpty(request.AdjacentTo))
{
seasons = UserViewBuilder.FilterForAdjacency(seasons, request.AdjacentTo)
.Cast<Season>();
}
}).ConfigureAwait(false)).Items.OfType<Season>();
var dtoOptions = GetDtoOptions(request);
@@ -453,23 +444,6 @@ namespace MediaBrowser.Api
};
}
private IEnumerable<Season> FilterVirtualSeasons(GetSeasons request, IEnumerable<Season> items)
{
if (request.IsMissing.HasValue)
{
var val = request.IsMissing.Value;
items = items.Where(i => (i.IsMissingSeason) == val);
}
if (request.IsVirtualUnaired.HasValue)
{
var val = request.IsVirtualUnaired.Value;
items = items.Where(i => i.IsVirtualUnaired == val);
}
return items;
}
public async Task<object> Get(GetEpisodes request)
{
var user = _userManager.GetUserById(request.UserId);