added IHasTrailers

This commit is contained in:
Luke Pulverenti
2013-12-02 11:46:25 -05:00
parent 317f411070
commit cd279d98e0
15 changed files with 151 additions and 49 deletions

View File

@@ -885,7 +885,19 @@ namespace MediaBrowser.Api.UserLibrary
if (request.HasTrailer.HasValue)
{
items = items.Where(i => request.HasTrailer.Value ? i.LocalTrailerIds.Count > 0 : i.LocalTrailerIds.Count == 0);
var val = request.HasTrailer.Value;
items = items.Where(i =>
{
var trailerCount = 0;
var hasTrailers = i as IHasTrailers;
if (hasTrailers != null)
{
trailerCount = hasTrailers.LocalTrailerIds.Count;
}
return val ? trailerCount > 0 : trailerCount == 0;
});
}
if (request.HasThemeSong.HasValue)

View File

@@ -489,7 +489,15 @@ namespace MediaBrowser.Api.UserLibrary
// Get everything
var fields = Enum.GetNames(typeof(ItemFields)).Select(i => (ItemFields)Enum.Parse(typeof(ItemFields), i, true)).ToList();
var dtos = item.LocalTrailerIds
var trailerIds = new List<Guid>();
var hasTrailers = item as IHasTrailers;
if (hasTrailers != null)
{
trailerIds = hasTrailers.LocalTrailerIds;
}
var dtos = trailerIds
.Select(_libraryManager.GetItemById)
.OrderBy(i => i.SortName)
.Select(i => _dtoService.GetBaseItemDto(i, fields, user, item));