Webiant Logo Webiant Logo
  1. No results found.

    Try your search with a different keyword or use * as a wildcard.

IForumService.cs

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);
}