/// <summary> /// Gets the critic reviews async. /// </summary> /// <param name="request">The request.</param> /// <returns>Task{ItemReviewsResult}.</returns> private async Task <ItemReviewsResult> GetCriticReviewsAsync(GetCriticReviews request) { var reviews = await _itemRepo.GetCriticReviews(new Guid(request.Id)).ConfigureAwait(false); var reviewsArray = reviews.ToArray(); var result = new ItemReviewsResult { TotalRecordCount = reviewsArray.Length }; if (request.StartIndex.HasValue) { reviewsArray = reviewsArray.Skip(request.StartIndex.Value).ToArray(); } if (request.Limit.HasValue) { reviewsArray = reviewsArray.Take(request.Limit.Value).ToArray(); } result.ItemReviews = reviewsArray; return(result); }
/// <summary> /// Gets the critic reviews async. /// </summary> /// <param name="request">The request.</param> /// <returns>Task{ItemReviewsResult}.</returns> private ItemReviewsResult GetCriticReviews(GetCriticReviews request) { var reviews = _itemRepo.GetCriticReviews(new Guid(request.Id)); var reviewsArray = reviews.ToArray(); var result = new ItemReviewsResult { TotalRecordCount = reviewsArray.Length }; if (request.StartIndex.HasValue) { reviewsArray = reviewsArray.Skip(request.StartIndex.Value).ToArray(); } if (request.Limit.HasValue) { reviewsArray = reviewsArray.Take(request.Limit.Value).ToArray(); } result.ItemReviews = reviewsArray; return(result); }
private IEnumerable <TabItem> GetMenuList(BaseItemDto item, AllThemeMediaResult themeMediaResult, ItemReviewsResult reviewsResult) { var views = new List <TabItem> { new TabItem { Name = "overview", DisplayName = "Overview" } }; if (item.ChildCount > 0) { if (item.IsType("series") && item.SeasonCount > 1) { views.Add(new TabItem { Name = "seasons", DisplayName = "Seasons" }); } else if (item.IsType("series") && item.SeasonCount == 1) { views.Add(new TabItem { Name = "episodes", DisplayName = "Episodes" }); } else if (item.IsType("season")) { views.Add(new TabItem { Name = "episodes", DisplayName = "Episodes" }); } else if (item.IsType("musicalbum")) { views.Add(new TabItem { Name = "songs", DisplayName = "Songs" }); } } if (item.People.Length > 0) { views.Add(new TabItem { Name = "cast", DisplayName = "Cast" }); } if (item.LocalTrailerCount > 1) { views.Add(new TabItem { Name = "trailers", DisplayName = "Trailers" }); } if (item.Chapters != null && item.Chapters.Count > 0) { views.Add(new TabItem { Name = "scenes", DisplayName = "Scenes" }); } if (item.MediaStreams != null && item.MediaStreams.Count > 0) { views.Add(new TabItem { Name = "media info", DisplayName = "Media Info" }); } if (item.SpecialFeatureCount > 0) { views.Add(new TabItem { Name = "special features", DisplayName = "Special Features" }); } if (item.IsType("movie") || item.IsType("trailer") || item.IsType("series") || item.IsType("musicalbum") || item.IsGame) { views.Add(new TabItem { Name = "similar", DisplayName = "Similar" }); } if (reviewsResult.TotalRecordCount > 0 || !string.IsNullOrEmpty(item.CriticRatingSummary)) { views.Add(new TabItem { Name = "reviews", DisplayName = "Reviews" }); } if (item.SoundtrackIds != null) { if (item.SoundtrackIds.Length > 1) { views.Add(new TabItem { Name = "soundtracks", DisplayName = "Soundtracks" }); } else if (item.SoundtrackIds.Length > 0) { views.Add(new TabItem { Name = "soundtrack", DisplayName = "Soundtrack" }); } } if (item.IsArtist || item.IsGameGenre || item.IsGenre || item.IsMusicGenre || item.IsPerson || item.IsStudio) { if (item.MovieCount.HasValue && item.MovieCount.Value > 0) { views.Add(new TabItem { Name = "itemmovies", DisplayName = string.Format("Movies ({0})", item.MovieCount.Value) }); } if (item.SeriesCount.HasValue && item.SeriesCount.Value > 0) { views.Add(new TabItem { Name = "itemseries", DisplayName = string.Format("Series ({0})", item.SeriesCount.Value) }); } if (item.EpisodeCount.HasValue && item.EpisodeCount.Value > 0) { views.Add(new TabItem { Name = "itemepisodes", DisplayName = string.Format("Episodes ({0})", item.EpisodeCount.Value) }); } if (item.TrailerCount.HasValue && item.TrailerCount.Value > 0) { views.Add(new TabItem { Name = "itemtrailers", DisplayName = string.Format("Trailers ({0})", item.TrailerCount.Value) }); } if (item.GameCount.HasValue && item.GameCount.Value > 0) { views.Add(new TabItem { Name = "itemgames", DisplayName = string.Format("Games ({0})", item.GameCount.Value) }); } if (item.AlbumCount.HasValue && item.AlbumCount.Value > 0) { views.Add(new TabItem { Name = "itemalbums", DisplayName = string.Format("Albums ({0})", item.AlbumCount.Value) }); } if (item.SongCount.HasValue && item.SongCount.Value > 0) { views.Add(new TabItem { Name = "itemsongs", DisplayName = string.Format("Songs ({0})", item.SongCount.Value) }); } if (item.MusicVideoCount.HasValue && item.MusicVideoCount.Value > 0) { views.Add(new TabItem { Name = "itemmusicvideos", DisplayName = string.Format("Music Videos ({0})", item.MusicVideoCount.Value) }); } } if (GalleryViewModel.GetImages(item, _apiClient, null, null, true).Any()) { views.Add(new TabItem { Name = "gallery", DisplayName = "Gallery" }); } if (themeMediaResult.ThemeVideosResult.TotalRecordCount > 0 || themeMediaResult.ThemeSongsResult.TotalRecordCount > 0) { views.Add(new TabItem { Name = "themes", DisplayName = "Themes" }); } return(views); }