using Nop.Core.Domain.Forums; using Nop.Web.Models.Boards; namespace Nop.Web.Factories; /// /// Represents the interface of the forum model factory /// public partial interface IForumModelFactory { /// /// Prepare the forum group model /// /// Forum group /// /// A task that represents the asynchronous operation /// The task result contains the forum group model /// Task PrepareForumGroupModelAsync(ForumGroup forumGroup); /// /// Prepare the boards index model /// /// /// A task that represents the asynchronous operation /// The task result contains the boards index model /// Task PrepareBoardsIndexModelAsync(); /// /// Prepare the active discussions model /// /// /// A task that represents the asynchronous operation /// The task result contains the active discussions model /// Task PrepareActiveDiscussionsModelAsync(); /// /// Prepare the active discussions model /// /// Forum identifier /// Number of forum topics page /// /// A task that represents the asynchronous operation /// The task result contains the active discussions model /// Task PrepareActiveDiscussionsModelAsync(int forumId, int page); /// /// Prepare the forum page model /// /// Forum /// Number of forum topics page /// /// A task that represents the asynchronous operation /// The task result contains the forum page model /// Task PrepareForumPageModelAsync(Forum forum, int page); /// /// Prepare the forum topic page model /// /// Forum topic /// Number of forum posts page /// /// A task that represents the asynchronous operation /// The task result contains the forum topic page model /// Task PrepareForumTopicPageModelAsync(ForumTopic forumTopic, int page); /// /// Prepare the topic move model /// /// Forum topic /// /// A task that represents the asynchronous operation /// The task result contains the topic move model /// Task PrepareTopicMoveAsync(ForumTopic forumTopic); /// /// Prepare the forum topic create model /// /// Forum /// Edit forum topic model /// A task that represents the asynchronous operation Task PrepareTopicCreateModelAsync(Forum forum, EditForumTopicModel model); /// /// Prepare the forum topic edit model /// /// Forum topic /// Edit forum topic model /// Whether to exclude populating of model properties from the entity /// A task that represents the asynchronous operation Task PrepareTopicEditModelAsync(ForumTopic forumTopic, EditForumTopicModel model, bool excludeProperties); /// /// Prepare the forum post create model /// /// Forum topic /// Identifier of the quoted post; pass null to load the empty text /// Whether to exclude populating of model properties from the entity /// /// A task that represents the asynchronous operation /// The task result contains the edit forum post model /// Task PreparePostCreateModelAsync(ForumTopic forumTopic, int? quote, bool excludeProperties); /// /// Prepare the forum post edit model /// /// Forum post /// Whether to exclude populating of model properties from the entity /// /// A task that represents the asynchronous operation /// The task result contains the edit forum post model /// Task PreparePostEditModelAsync(ForumPost forumPost, bool excludeProperties); /// /// Prepare the search model /// /// Search terms /// Whether to use the advanced search /// Forum identifier /// String representation of int value of ForumSearchType /// Limit by the last number days; 0 to load all topics /// Number of items page /// /// A task that represents the asynchronous operation /// The task result contains the search model /// Task PrepareSearchModelAsync(string searchterms, bool? advs, string forumId, string within, string limitDays, int page); /// /// Prepare the last post model /// /// Forum post /// Whether to show topic /// /// A task that represents the asynchronous operation /// The task result contains the last post model /// Task PrepareLastPostModelAsync(ForumPost forumPost, bool showTopic); /// /// Prepare the forum breadcrumb model /// /// Forum group identifier; pass null to load nothing /// Forum identifier; pass null to load breadcrumbs up to forum group /// Forum topic identifier; pass null to load breadcrumbs up to forum /// /// A task that represents the asynchronous operation /// The task result contains the forum breadcrumb model /// Task PrepareForumBreadcrumbModelAsync(int? forumGroupId, int? forumId, int? forumTopicId); /// /// Prepare the customer forum subscriptions model /// /// Number of items page; pass null to load the first page /// /// A task that represents the asynchronous operation /// The task result contains the customer forum subscriptions model /// Task PrepareCustomerForumSubscriptionsModelAsync(int? page); /// /// Prepare the forum topic row model /// /// Forum topic /// /// A task that represents the asynchronous operation /// The task result contains the forum topic row model /// Task PrepareForumTopicRowModelAsync(ForumTopic topic); /// /// Prepare the forum row model /// /// Forum /// /// A task that represents the asynchronous operation /// The task result contains the forum row model /// Task PrepareForumRowModelAsync(Forum forum); }