public async Task <Post> GetPostAsync(int postId) { var baseUri = string.Format(EndPoints.ShowPost, postId); var result = await _webManager.GetDataAsync(baseUri); var document = await _webManager.Parser.ParseAsync(result.ResultHtml); var post = document.QuerySelector("table.post"); return(PostHandler.ParsePost(document, post)); }
public async Task <Post> GetPostAsync(int postId, CancellationToken token = default) { var baseUri = string.Format(CultureInfo.InvariantCulture, EndPoints.ShowPost, postId); var result = await this.webManager.GetDataAsync(baseUri, token).ConfigureAwait(false); var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false); var post = document.QuerySelector("table.post"); return(PostHandler.ParsePost(document, post)); }
public async Task <Post> GetPrivateMessageAsync(PrivateMessage message) { if (!_webManager.IsAuthenticated) { throw new Exception("User must be authenticated before using this method."); } var result = await _webManager.GetDataAsync(EndPoints.PrivateMessages + $"?action=show&privatemessageid={message.Id}"); var document = await _webManager.Parser.ParseAsync(result.ResultHtml); message.Post = PostHandler.ParsePost(document, document.Body); return(message.Post); }
public async Task <Post> GetPrivateMessageAsync(PrivateMessage message, CancellationToken token = default) { if (message == null) { throw new ArgumentNullException(nameof(message)); } if (!this.webManager.IsAuthenticated) { throw new UserAuthenticationException(Awful.Core.Resources.ExceptionMessages.UserAuthenticationError); } var result = await this.webManager.GetDataAsync(EndPoints.PrivateMessages + $"?action=show&privatemessageid={message.Id}", token).ConfigureAwait(false); var document = await this.webManager.Parser.ParseDocumentAsync(result.ResultHtml, token).ConfigureAwait(false); message.Post = PostHandler.ParsePost(document, document.Body); return(message.Post); }