Querying posts

This topic contains the following:

  • Querying a single post
  • Querying posts from a thread
  • Querying all posts

Querying a single post

To query a single post, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the ForumsManager object.
  2. Get the specified post.
    To get the specified post, you can either call the GetPost method of the manager and pass the ID of the post as an argument, or call the GetPosts method of the manager and filter the collection by the ID or the name of the post.

Here is a code example of using the GetPost method:

public static ForumPost GetPost(Guid postId)
{
    ForumsManager forumsManager = ForumsManager.GetManager();
 
    ForumPost post = forumsManager.GetPost(postId);
 
    return post;
} 

NOTE: If the post does not exist, the method throws an exception of type Telerik.Sitefinity.SitefinityExceptions.ItemNotFoundException.

Here is a code example of using the GetPosts method:

public static ForumPost GetPostAlternative(Guid postId)
{
    ForumsManager forumsManager = ForumsManager.GetManager();
 
    ForumPost post = forumsManager.GetPosts().Where(p => p.Id == postId).SingleOrDefault();
 
    return post;
}

Querying all posts from a thread

To query all posts from a thread, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the ForumsManager object.
  2. Get the posts.
    To get the posts, you must call the GetPosts method of the manager and filter the query by the ID of the thread.

Here is a code example:

public static List<ForumPost> GetPostsByThread(Guid threadId)
{
    ForumsManager forumsManager = ForumsManager.GetManager();
 
    List<ForumPost> posts = forumsManager.GetPosts().Where(p => p.Thread != null && p.Thread.Id == threadId).ToList();
 
    return posts;
}

NOTE: Because it is possible to have a post without a thread, you must make a check whether the Thread property is null.

Querying all posts

To query all threads, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the ForumsManager object.
  2. Get the posts.
    To get the posts, you must call the GetPosts method of the manager.

Here is a code example:

public static List<ForumPost> GetPosts()
{
    ForumsManager forumsManager = ForumsManager.GetManager();
 
    List<ForumPost> post = forumsManager.GetPosts().ToList();
 
    return post;
}

Next steps

+1-888-365-2779
sales@sitefinity.com

Related topics:

Feedback

How useful is this article?

Tell us more

Submit
Your message was successfully sent.

We appreciate your feedback.

Your message could not be sent.

OK