private async Task <bool> GetInProgressItems()
        {
            try
            {
                Log.Info("Getting in progress items for user [{0}]", AuthenticationService.Current.LoggedInUserId);

                var query = new ItemQuery
                {
                    UserId    = AuthenticationService.Current.LoggedInUserId,
                    Recursive = true,
                    Filters   = new[] { ItemFilter.IsResumable, },
                    SortBy    = new[] { ItemSortBy.DatePlayed }
                };

                var items = await ApiClient.GetItemsAsync(query);

                if (items != null && !items.Items.IsNullOrEmpty())
                {
                    InProgressItems.Clear();
                    items.Items.Foreach(InProgressItems.Add);
                }

                ShowInProgress = !InProgressItems.IsNullOrEmpty();
                Messenger.Default.Send(new NotificationMessage(ShowInProgress, Constants.Messages.ShowHideInProgressMsg));
                return(true);
            }
            catch (HttpException ex)
            {
                Utils.HandleHttpException("GetInProgressItems()", ex, NavigationService, Log);
            }

            return(false);
        }
 private void Reset()
 {
     TileService.Current.ResetWideTile(App.SpecificSettings.UseTransparentTile);
     _hasLoaded = false;
     Folders.Clear();
     UserViews.Clear();
     RecentItems.Clear();
     FavouriteItems.Clear();
     InProgressItems.Clear();
 }
Example #3
0
        private async Task LoadInProgressItems()
        {
            var response = await _cacheService.GetInProgressItemsFromCache();

            if (InProgressItems.IsNullOrEmpty())
            {
                InProgressItems = new ObservableCollection <ReaderItem>(response.ReaderItems);
                return;
            }

            foreach (var item in response.ReaderItems)
            {
                var existingItem = InProgressItems.FirstOrDefault(x => x.Id == item.Id);
                if (existingItem != null)
                {
                    item.CopyItem(existingItem);
                }
                else
                {
                    InProgressItems.Add(item);
                }
            }
        }