Exemple #1
0
        public async Task <List <Category> > GetForumCategoriesAsync()
        {
            var result = await _webManager.GetDataAsync(EndPoints.BaseUrl);

            var document = await _webManager.Parser.ParseAsync(result.ResultHtml);

            return(ForumHandler.ParseCategoryList(document));
        }
Exemple #2
0
        public async Task <List <Category> > GetForumCategoriesAsync(CancellationToken token = default)
        {
            var result = await this.webManager.GetDataAsync(EndPoints.BaseUrl, token).ConfigureAwait(false);

            var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false);

            return(ForumHandler.ParseCategoryList(document));
        }
Exemple #3
0
        public async Task <Category> GetForumDescriptionsFromCategoryPageAsync(Category category)
        {
            var result = await _webManager.GetDataAsync(string.Format(EndPoints.ForumPage, category.Id));

            var document = await _webManager.Parser.ParseAsync(result.ResultHtml);

            return(ForumHandler.ParseForumDescriptions(document, category));
        }
        public async Task <List <Thread> > GetForumThreadListAsync(Forum forum, int page)
        {
            var pageUrl = string.Format(EndPoints.ForumPage, forum.ForumId) + string.Format(EndPoints.PageNumber, page);
            var result  = await _webManager.GetDataAsync(pageUrl);

            var document = await _webManager.Parser.ParseAsync(result.ResultHtml);

            ForumHandler.GetForumPageInfo(document, forum);
            return(ThreadHandler.ParseForumThreadList(document, forum.ForumId));
        }
Exemple #5
0
        public async Task <Forum> GetForumDescriptionsFromForumPageAsync(Forum forum)
        {
            if (forum.SubForums.Count <= 0)
            {
                return(forum);
            }
            var result = await _webManager.GetDataAsync(string.Format(EndPoints.ForumPage, forum.ForumId));

            var document = await _webManager.Parser.ParseAsync(result.ResultHtml);

            return(ForumHandler.ParseSubForumDescriptions(document, forum));
        }
Exemple #6
0
        public async Task <List <Category> > GetForumCategoriesViaSelectAsync()
        {
            if (!_webManager.IsAuthenticated)
            {
                throw new Exception("User must be authenticated before using this method.");
            }
            var result = await _webManager.GetDataAsync(EndPoints.ForumListPage);

            var document = await _webManager.Parser.ParseAsync(result.ResultHtml);

            return(ForumHandler.ParseCategoryList(document));
        }
Exemple #7
0
        public async Task <Category> GetForumDescriptionsFromCategoryPageAsync(Category category, CancellationToken token = default)
        {
            if (category == null)
            {
                throw new ArgumentNullException(nameof(category));
            }

            var result = await this.webManager.GetDataAsync(string.Format(CultureInfo.InvariantCulture, EndPoints.ForumPage, category.Id), token).ConfigureAwait(false);

            var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false);

            return(ForumHandler.ParseForumDescriptions(document, category));
        }
Exemple #8
0
        public async Task <List <Category> > GetForumCategoriesViaSelectAsync(CancellationToken token = default)
        {
            if (!this.webManager.IsAuthenticated)
            {
                throw new UserAuthenticationException(Awful.Core.Resources.ExceptionMessages.UserAuthenticationError);
            }

            var result = await this.webManager.GetDataAsync(EndPoints.ForumListPage, token).ConfigureAwait(false);

            var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false);

            return(ForumHandler.ParseCategoryList(document));
        }
        /// <summary>
        /// Gets the list of threads in a given Forum.
        /// </summary>
        /// <param name="forumId">The Forum Id.</param>
        /// <param name="page">The page of the forum to get.</param>
        /// <param name="token">A CancellationToken.</param>
        /// <returns>A ThreadList.</returns>
        public async Task <ThreadList> GetForumThreadListAsync(int forumId, int page, CancellationToken token = default)
        {
            var pageUrl = string.Format(CultureInfo.InvariantCulture, EndPoints.ForumPage, forumId) + string.Format(CultureInfo.InvariantCulture, EndPoints.PageNumber, page);
            var result  = await this.webManager.GetDataAsync(pageUrl, token).ConfigureAwait(false);

            var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false);

            var threadList = new ThreadList();

            ForumHandler.GetForumPageInfo(document, threadList);
            threadList.Threads.AddRange(ThreadHandler.ParseForumThreadList(document));
            return(threadList);
        }
Exemple #10
0
        public async Task <Forum> GetForumDescriptionsFromForumPageAsync(Forum forum, CancellationToken token = default)
        {
            if (forum == null)
            {
                throw new ArgumentNullException(nameof(forum));
            }

            if (forum.SubForums.Count <= 0)
            {
                return(forum);
            }

            var result = await this.webManager.GetDataAsync(string.Format(CultureInfo.InvariantCulture, EndPoints.ForumPage, forum.ForumId), token).ConfigureAwait(false);

            var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false);

            return(ForumHandler.ParseSubForumDescriptions(document, forum));
        }
Exemple #11
0
 public Boolean addReply(String forumName, String subForumName, String discussion, String title, String content, String forumMember)
 {
     return(ForumHandler.addReply(forumName, subForumName, discussion, title, content, forumMember));
 }
Exemple #12
0
 public Boolean addDiscussion(String forumName, String subForumName, String discTitle, String content, String member)
 {
     return(ForumHandler.addDiscussion(forumName, subForumName, discTitle, content, member));
 }
Exemple #13
0
 public Boolean addSubForum(String forumName, String subForumName, String moderator)
 {
     return(ForumHandler.addSubForum(forumName, subForumName, moderator));
 }
Exemple #14
0
 public Boolean removeForum(Forum forum)
 {
     return(ForumHandler.removeForum(forum));
 }
Exemple #15
0
 public Boolean addForum(String newForum, String forumAdministrator)
 {
     return(ForumHandler.addForum(newForum, forumAdministrator));
 }