public async Task GetThreadListAsync_Test()
        {
            var          WebClient    = Setup.SetupWebClient().Result;
            ForumManager forumManager = new ForumManager(WebClient);
            var          forumCatList = await forumManager.GetForumCategoriesAsync();

            Assert.NotNull(forumCatList);
            Assert.True(forumCatList.Any());

            ThreadListManager threadManager = new ThreadListManager(WebClient);
            var result = await threadManager.GetForumThreadListAsync(forumCatList.First().ForumList.First().ForumId, 1);

            Assert.NotNull(result);
            Assert.True(result.Threads.Any());
        }
        public async Task <LoadMoreItemsResult> LoadDataAsync(uint count)
        {
            IsLoading = true;
            List <Thread> forumThreadEntities;

            try
            {
                forumThreadEntities = await _threadManager.GetForumThreadListAsync(ForumEntity, PageCount);
            }
            catch (Exception ex)
            {
                if (ex.Message == "paywall")
                {
                    FireEvent(true);
                }
                HasMoreItems = false;
                IsLoading    = false;
                return(new LoadMoreItemsResult {
                    Count = count
                });
            }

            foreach (var forumThreadEntity in forumThreadEntities.Where(forumThreadEntity => !forumThreadEntity.IsAnnouncement))
            {
                Add(forumThreadEntity);
            }
            if (forumThreadEntities.Any(node => !node.IsAnnouncement))
            {
                HasMoreItems = true;
                PageCount++;
            }
            else
            {
                HasMoreItems = false;
            }
            IsLoading = false;
            return(new LoadMoreItemsResult {
                Count = count
            });
        }