Try your search with a different keyword or use * as a wildcard.
using Nop.Core;
using Nop.Core.Domain.Customers;
using Nop.Core.Domain.Forums;
namespace Nop.Services.Forums;
///
/// Forum service interface
///
public partial interface IForumService
{
///
/// Deletes a forum group
///
/// Forum group
/// A task that represents the asynchronous operation
Task DeleteForumGroupAsync(ForumGroup forumGroup);
///
/// Gets a forum group
///
/// The forum group identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the forum group
///
Task GetForumGroupByIdAsync(int forumGroupId);
///
/// Gets all forum groups
///
///
/// A task that represents the asynchronous operation
/// The task result contains the forum groups
///
Task> GetAllForumGroupsAsync();
///
/// Inserts a forum group
///
/// Forum group
/// A task that represents the asynchronous operation
Task InsertForumGroupAsync(ForumGroup forumGroup);
///
/// Updates the forum group
///
/// Forum group
/// A task that represents the asynchronous operation
Task UpdateForumGroupAsync(ForumGroup forumGroup);
///
/// Deletes a forum
///
/// Forum
/// A task that represents the asynchronous operation
Task DeleteForumAsync(Forum forum);
///
/// Gets a forum
///
/// The forum identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the forum
///
Task GetForumByIdAsync(int forumId);
///
/// Gets forums by group identifier
///
/// The forum group identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the forums
///
Task> GetAllForumsByGroupIdAsync(int forumGroupId);
///
/// Inserts a forum
///
/// Forum
/// A task that represents the asynchronous operation
Task InsertForumAsync(Forum forum);
///
/// Updates the forum
///
/// Forum
/// A task that represents the asynchronous operation
Task UpdateForumAsync(Forum forum);
///
/// Deletes a forum topic
///
/// Forum topic
/// A task that represents the asynchronous operation
Task DeleteTopicAsync(ForumTopic forumTopic);
///
/// Gets a forum topic
///
/// The forum topic identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the forum Topic
///
Task GetTopicByIdAsync(int forumTopicId);
///
/// Gets all forum topics
///
/// The forum identifier
/// The customer identifier
/// Keywords
/// Search type
/// Limit by the last number days; 0 to load all topics
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the forum Topics
///
Task> GetAllTopicsAsync(int forumId = 0,
int customerId = 0, string keywords = "", ForumSearchType searchType = ForumSearchType.All,
int limitDays = 0, int pageIndex = 0, int pageSize = int.MaxValue);
///
/// Gets active forum topics
///
/// The forum identifier
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the forum Topics
///
Task> GetActiveTopicsAsync(int forumId = 0,
int pageIndex = 0, int pageSize = int.MaxValue);
///
/// Inserts a forum topic
///
/// Forum topic
/// A value indicating whether to send notifications to subscribed customers
/// A task that represents the asynchronous operation
Task InsertTopicAsync(ForumTopic forumTopic, bool sendNotifications);
///
/// Updates the forum topic
///
/// Forum topic
/// A task that represents the asynchronous operation
Task UpdateTopicAsync(ForumTopic forumTopic);
///
/// Moves the forum topic
///
/// The forum topic identifier
/// New forum identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the moved forum topic
///
Task MoveTopicAsync(int forumTopicId, int newForumId);
///
/// Deletes a forum post
///
/// Forum post
/// A task that represents the asynchronous operation
Task DeletePostAsync(ForumPost forumPost);
///
/// Gets a forum post
///
/// The forum post identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the forum Post
///
Task GetPostByIdAsync(int forumPostId);
///
/// Gets all forum posts
///
/// The forum topic identifier
/// The customer identifier
/// Keywords
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the posts
///
Task> GetAllPostsAsync(int forumTopicId = 0,
int customerId = 0, string keywords = "",
int pageIndex = 0, int pageSize = int.MaxValue);
///
/// Gets all forum posts
///
/// The forum topic identifier
/// The customer identifier
/// Keywords
/// Sort order
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the forum Posts
///
Task> GetAllPostsAsync(int forumTopicId = 0, int customerId = 0,
string keywords = "", bool ascSort = false,
int pageIndex = 0, int pageSize = int.MaxValue);
///
/// Inserts a forum post
///
/// The forum post
/// A value indicating whether to send notifications to subscribed customers
/// A task that represents the asynchronous operation
Task InsertPostAsync(ForumPost forumPost, bool sendNotifications);
///
/// Updates the forum post
///
/// Forum post
/// A task that represents the asynchronous operation
Task UpdatePostAsync(ForumPost forumPost);
///
/// Deletes a private message
///
/// Private message
/// A task that represents the asynchronous operation
Task DeletePrivateMessageAsync(PrivateMessage privateMessage);
///
/// Gets a private message
///
/// The private message identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the private message
///
Task GetPrivateMessageByIdAsync(int privateMessageId);
///
/// Gets private messages
///
/// The store identifier; pass 0 to load all messages
/// The customer identifier who sent the message
/// The customer identifier who should receive the message
/// A value indicating whether loaded messages are read. false - to load not read messages only, 1 to load read messages only, null to load all messages
/// A value indicating whether loaded messages are deleted by author. false - messages are not deleted by author, null to load all messages
/// A value indicating whether loaded messages are deleted by recipient. false - messages are not deleted by recipient, null to load all messages
/// Keywords
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the private messages
///
Task> GetAllPrivateMessagesAsync(int storeId, int fromCustomerId,
int toCustomerId, bool? isRead, bool? isDeletedByAuthor, bool? isDeletedByRecipient,
string keywords, int pageIndex = 0, int pageSize = int.MaxValue);
///
/// Inserts a private message
///
/// Private message
/// A task that represents the asynchronous operation
Task InsertPrivateMessageAsync(PrivateMessage privateMessage);
///
/// Updates the private message
///
/// Private message
/// A task that represents the asynchronous operation
Task UpdatePrivateMessageAsync(PrivateMessage privateMessage);
///
/// Deletes a forum subscription
///
/// Forum subscription
/// A task that represents the asynchronous operation
Task DeleteSubscriptionAsync(ForumSubscription forumSubscription);
///
/// Gets a forum subscription
///
/// The forum subscription identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the forum subscription
///
Task GetSubscriptionByIdAsync(int forumSubscriptionId);
///
/// Gets forum subscriptions
///
/// The customer identifier
/// The forum identifier
/// The topic identifier
/// Page index
/// Page size
///
/// A task that represents the asynchronous operation
/// The task result contains the forum subscriptions
///
Task> GetAllSubscriptionsAsync(int customerId = 0, int forumId = 0,
int topicId = 0, int pageIndex = 0, int pageSize = int.MaxValue);
///
/// Inserts a forum subscription
///
/// Forum subscription
/// A task that represents the asynchronous operation
Task InsertSubscriptionAsync(ForumSubscription forumSubscription);
///
/// Check whether customer is allowed to create new topics
///
/// Customer
/// Forum
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToCreateTopicAsync(Customer customer, Forum forum);
///
/// Check whether customer is allowed to edit topic
///
/// Customer
/// Topic
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToEditTopicAsync(Customer customer, ForumTopic topic);
///
/// Check whether customer is allowed to move topic
///
/// Customer
/// Topic
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToMoveTopicAsync(Customer customer, ForumTopic topic);
///
/// Check whether customer is allowed to delete topic
///
/// Customer
/// Topic
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToDeleteTopicAsync(Customer customer, ForumTopic topic);
///
/// Check whether customer is allowed to create new post
///
/// Customer
/// Topic
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToCreatePostAsync(Customer customer, ForumTopic topic);
///
/// Check whether customer is allowed to edit post
///
/// Customer
/// Topic
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToEditPostAsync(Customer customer, ForumPost post);
///
/// Check whether customer is allowed to delete post
///
/// Customer
/// Topic
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToDeletePostAsync(Customer customer, ForumPost post);
///
/// Check whether customer is allowed to set topic priority
///
/// Customer
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToSetTopicPriorityAsync(Customer customer);
///
/// Check whether customer is allowed to watch topics
///
/// Customer
///
/// A task that represents the asynchronous operation
/// The task result contains true if allowed, otherwise false
///
Task IsCustomerAllowedToSubscribeAsync(Customer customer);
///
/// Calculates topic page index by post identifier
///
/// Topic identifier
/// Page size
/// Post identifier
///
/// A task that represents the asynchronous operation
/// The task result contains the page index
///
Task CalculateTopicPageIndexAsync(int forumTopicId, int pageSize, int postId);
///
/// Get a post vote
///
/// Post identifier
/// Customer
///
/// A task that represents the asynchronous operation
/// The task result contains the post vote
///
Task GetPostVoteAsync(int postId, Customer customer);
///
/// Get post vote made since the parameter date
///
/// Customer
/// Date
///
/// A task that represents the asynchronous operation
/// The task result contains the post votes count
///
Task GetNumberOfPostVotesAsync(Customer customer, DateTime createdFromUtc);
///
/// Insert a post vote
///
/// Post vote
/// A task that represents the asynchronous operation
Task InsertPostVoteAsync(ForumPostVote postVote);
///
/// Delete a post vote
///
/// Post vote
/// A task that represents the asynchronous operation
Task DeletePostVoteAsync(ForumPostVote postVote);
///
/// Formats the forum post text
///
/// Forum post
/// Formatted text
string FormatPostText(ForumPost forumPost);
///
/// Strips the topic subject
///
/// Forum topic
/// Formatted subject
string StripTopicSubject(ForumTopic forumTopic);
///
/// Formats the forum signature text
///
/// Text
/// Formatted text
string FormatForumSignatureText(string text);
///
/// Formats the private message text
///
/// Private message
/// Formatted text
string FormatPrivateMessageText(PrivateMessage pm);
///
/// Get first post
///
/// Forum topic
///
/// A task that represents the asynchronous operation
/// The task result contains the forum post
///
Task GetFirstPostAsync(ForumTopic forumTopic);
///
/// Gets ForumGroup SE (search engine) name
///
/// ForumGroup
///
/// A task that represents the asynchronous operation
/// The task result contains the forumGroup SE (search engine) name
///
Task GetForumGroupSeNameAsync(ForumGroup forumGroup);
///
/// Gets Forum SE (search engine) name
///
/// Forum
///
/// A task that represents the asynchronous operation
/// The task result contains the forum SE (search engine) name
///
Task GetForumSeNameAsync(Forum forum);
///
/// Gets ForumTopic SE (search engine) name
///
/// ForumTopic
///
/// A task that represents the asynchronous operation
/// The task result contains the forumTopic SE (search engine) name
///
Task GetTopicSeNameAsync(ForumTopic forumTopic);
}