public async Task <TelevisionShowCardResultsViewModel> Handle( QuerySearchIndexShows request, CancellationToken cancellationToken) { SearchResult searchResult = await _searchIndex.Search( request.Query, (request.PageNumber - 1) *request.PageSize, request.PageSize); List <TelevisionShowCardViewModel> items = await _televisionRepository .GetShowsForCards(searchResult.Items.Map(i => i.Id).ToList()) .Map(list => list.Map(ProjectToViewModel).ToList()); return(new TelevisionShowCardResultsViewModel(searchResult.TotalCount, items, searchResult.PageMap)); }
public async Task <TelevisionShowCardResultsViewModel> Handle( QuerySearchIndexShows request, CancellationToken cancellationToken) { SearchResult searchResult = await _searchIndex.Search( request.Query, (request.PageNumber - 1) *request.PageSize, request.PageSize); Option <JellyfinMediaSource> maybeJellyfin = await _mediaSourceRepository.GetAllJellyfin() .Map(list => list.HeadOrNone()); Option <EmbyMediaSource> maybeEmby = await _mediaSourceRepository.GetAllEmby() .Map(list => list.HeadOrNone()); List <TelevisionShowCardViewModel> items = await _televisionRepository .GetShowsForCards(searchResult.Items.Map(i => i.Id).ToList()) .Map(list => list.Map(s => ProjectToViewModel(s, maybeJellyfin, maybeEmby)).ToList()); return(new TelevisionShowCardResultsViewModel(searchResult.TotalCount, items, searchResult.PageMap)); }