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(); }
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); } } }