Query forum threads

This topic contains the following:

  • Querying a single thread
  • Querying threads from a forum
  • Querying all threads

Querying a single thread

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

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

Here is a code example of using the GetThread method:

 
using System;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumThreads_GetThread
{
public static ForumThread GetThread(Guid threadId)
{
ForumsManager forumsManager = ForumsManager.GetManager();
ForumThread thread = forumsManager.GetThread(threadId);
return thread;
}
}
}

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

Here is a code example of using the GetThreads method:

 
using System;
using System.Linq;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumThreads_GetThreadAlternative
{
public static ForumThread GetThreadAlternative(Guid threadId)
{
ForumsManager forumsManager = ForumsManager.GetManager();
ForumThread thread = forumsManager.GetThreads().Where(g => g.Id == threadId).SingleOrDefault();
return thread;
}
}
}

Querying all threads from a forum

To query all threads from a forum, you must perform the following:

  1. Get an instance of the manager.
    Get an instance of the ForumsManager object.
  2. Get the threads.
    To get the threads, you must call the GetThreads method of the manager and filter the query by the ID of the forum.

Here is a code example:

 
using System;
using System.Collections.Generic;
using System.Linq;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumThreads_GetThreadsByForum
{
public static List<ForumThread> GetThreadsByForum(Guid forumId)
{
ForumsManager forumsManager = ForumsManager.GetManager();
List<ForumThread> threads = forumsManager.GetThreads().Where(t => t.Forum != null && t.Forum.Id == forumId).ToList();
return threads;
}
}
}

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

Querying all threads

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 threads.
    To get the threads, you must call the GetThreads method of the manager.

Here is a code example:

using System.Collections.Generic;
using System.Linq;
using Telerik.Sitefinity.Forums;
using Telerik.Sitefinity.Forums.Model;
namespace SitefinityWebApp
{
public class QueryForumThreads_GetThreads
{
public static List<ForumThread> GetThreads()
{
ForumsManager forumsManager = ForumsManager.GetManager();
List<ForumThread> threads = forumsManager.GetThreads().ToList();
return threads;
}
}
}

Want to learn more?

Increase your Sitefinity skills by signing up for our free trainings. Get Sitefinity-certified at Progress Education Community to boost your credentials.

Get started with Integration Hub | Sitefinity Cloud | Sitefinity SaaS

This free lesson teaches administrators, marketers, and other business professionals how to use the Integration hub service to create automated workflows between Sitefinity and other business systems.

Web Security for Sitefinity Administrators

This free lesson teaches administrators the basics about protecting yor Sitefinity instance and its sites from external threats. Configure HTTPS, SSL, allow lists for trusted sites, and cookie security, among others.

Foundations of Sitefinity ASP.NET Core Development

The free on-demand video course teaches developers how to use Sitefinity .NET Core and leverage its decoupled architecture and new way of coding against the platform.

Was this article helpful?

Next article

Modify forum threads