/// <summary>
 /// Sets the recently added items.
 /// </summary>
 /// <param name="items">The items.</param>
 private void SetRecentlyAddedItems(BaseItemDto[] items)
 {
     RecentlyAddedItems = new ItemCollectionViewModel { Items = items, Name = "Recently Added" };
 }
 /// <summary>
 /// Sets the resumable items.
 /// </summary>
 /// <param name="items">The items.</param>
 private void SetResumableItems(BaseItemDto[] items)
 {
     ResumableItems = new ItemCollectionViewModel { Items = items, Name = "Resume" };
 }
        /// <summary>
        /// Refreshes the spotlight items async.
        /// </summary>
        /// <returns>Task.</returns>
        private async Task RefreshSpotlightItemsAsync()
        {
            var query = new ItemQuery
            {
                ImageTypes = new[] { ImageType.Backdrop },
                ExcludeItemTypes = new[] { "Season" },
                UserId = App.Instance.CurrentUser.Id,
                ParentId = Folder.Id,
                Limit = 10,
                SortBy = new[] { ItemSortBy.Random },
                Recursive = true
            };

            try
            {
                var result = await App.Instance.ApiClient.GetItemsAsync(query).ConfigureAwait(false);

                SpotlightItems = new ItemCollectionViewModel(rotationPeriodMs: 6000, rotationDevaiationMs: 1000) { Items = result.Items };
            }
            catch (HttpException)
            {
                // Already logged in lower levels
                // Don't allow the entire screen to fail
            }
        }
 /// <summary>
 /// Sets the favorite items.
 /// </summary>
 /// <param name="items">The items.</param>
 private void SetFavoriteItems(BaseItemDto[] items)
 {
     FavoriteItems = new ItemCollectionViewModel { Items = items, Name = "Favorites" };
 }
        /// <summary>
        /// Refreshes the top picks async.
        /// </summary>
        /// <returns>Task.</returns>
        private async Task RefreshTopPicksAsync()
        {
            var query = new ItemQuery
            {
                ImageTypes = new[] { ImageType.Backdrop, ImageType.Thumb },
                Filters = new[] { ItemFilter.IsRecentlyAdded, ItemFilter.IsNotFolder },
                UserId = App.Instance.CurrentUser.Id,
                ParentId = Folder.Id,
                Limit = 10,
                SortBy = new[] { ItemSortBy.Random },
                SortOrder = SortOrder.Descending,
                Recursive = true
            };

            try
            {
                var result = await App.Instance.ApiClient.GetItemsAsync(query).ConfigureAwait(false);

                TopPicks = new ItemCollectionViewModel { Items = result.Items, Name = "Top Picks" };
            }
            catch (HttpException)
            {
                // Already logged in lower levels
                // Don't allow the entire screen to fail
            }
        }