本文整理汇总了C#中Nop.Core.Domain.Forums.Forum类的典型用法代码示例。如果您正苦于以下问题:C# Forum类的具体用法?C# Forum怎么用?C# Forum使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
Forum类属于Nop.Core.Domain.Forums命名空间,在下文中一共展示了Forum类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Can_save_and_load_forum
public void Can_save_and_load_forum()
{
var forum = new Forum
{
ForumGroup = new ForumGroup
{
Name = "Forum Group 1",
DisplayOrder = 1,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
},
Name = "Forum 1",
Description = "Forum 1 Description",
DisplayOrder = 10,
CreatedOnUtc = new DateTime(2010, 01, 01),
UpdatedOnUtc = new DateTime(2010, 01, 02),
NumPosts = 25,
NumTopics = 15,
};
var fromDb = SaveAndLoadEntity(forum);
fromDb.ShouldNotBeNull();
fromDb.Name.ShouldEqual("Forum 1");
fromDb.Description.ShouldEqual("Forum 1 Description");
fromDb.DisplayOrder.ShouldEqual(10);
fromDb.NumTopics.ShouldEqual(15);
fromDb.NumPosts.ShouldEqual(25);
fromDb.CreatedOnUtc.ShouldEqual(new DateTime(2010, 01, 01));
fromDb.UpdatedOnUtc.ShouldEqual(new DateTime(2010, 01, 02));
}
示例2: PrepareForumRowModel
protected virtual ForumRowModel PrepareForumRowModel(Forum forum)
{
var forumModel = new ForumRowModel
{
Id = forum.Id,
Name = forum.Name,
SeName = forum.GetSeName(),
Description = forum.Description,
NumTopics = forum.NumTopics,
NumPosts = forum.NumPosts,
LastPostId = forum.LastPostId,
};
return forumModel;
}
示例3: Can_save_and_load_forumpost
public void Can_save_and_load_forumpost()
{
var customer = GetTestCustomer();
var customerFromDb = SaveAndLoadEntity(customer);
customerFromDb.ShouldNotBeNull();
var forumGroup = new ForumGroup
{
Name = "Forum Group 1",
DisplayOrder = 1,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow
};
var forumGroupFromDb = SaveAndLoadEntity(forumGroup);
forumGroupFromDb.ShouldNotBeNull();
forumGroupFromDb.Name.ShouldEqual("Forum Group 1");
forumGroupFromDb.DisplayOrder.ShouldEqual(1);
var forum = new Forum
{
ForumGroup = forumGroupFromDb,
Name = "Forum 1",
Description = "Forum 1 Description",
ForumGroupId = forumGroupFromDb.Id,
DisplayOrder = 10,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
NumPosts = 25,
NumTopics = 15
};
forumGroup.Forums.Add(forum);
var forumFromDb = SaveAndLoadEntity(forum);
forumFromDb.ShouldNotBeNull();
forumFromDb.Name.ShouldEqual("Forum 1");
forumFromDb.Description.ShouldEqual("Forum 1 Description");
forumFromDb.DisplayOrder.ShouldEqual(10);
forumFromDb.NumTopics.ShouldEqual(15);
forumFromDb.NumPosts.ShouldEqual(25);
forumFromDb.ForumGroupId.ShouldEqual(forumGroupFromDb.Id);
var forumTopic = new ForumTopic
{
Subject = "Forum Topic 1",
ForumId = forumFromDb.Id,
TopicTypeId = (int)ForumTopicType.Sticky,
Views = 123,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
NumPosts = 100,
CustomerId = customerFromDb.Id,
};
var forumTopicFromDb = SaveAndLoadEntity(forumTopic);
forumTopicFromDb.ShouldNotBeNull();
forumTopicFromDb.Subject.ShouldEqual("Forum Topic 1");
forumTopicFromDb.Views.ShouldEqual(123);
forumTopicFromDb.NumPosts.ShouldEqual(100);
forumTopicFromDb.TopicTypeId.ShouldEqual((int)ForumTopicType.Sticky);
forumTopicFromDb.ForumId.ShouldEqual(forumFromDb.Id);
var forumPost = new ForumPost
{
Text = "Forum Post 1 Text",
ForumTopic = forumTopicFromDb,
TopicId = forumTopicFromDb.Id,
IPAddress = "127.0.0.1",
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
CustomerId = customerFromDb.Id,
};
var forumPostFromDb = SaveAndLoadEntity(forumPost);
forumPostFromDb.ShouldNotBeNull();
forumPostFromDb.Text.ShouldEqual("Forum Post 1 Text");
forumPostFromDb.IPAddress.ShouldEqual("127.0.0.1");
forumPostFromDb.TopicId.ShouldEqual(forumTopicFromDb.Id);
}
示例4: SendNewForumTopicMessage
/// <summary>
/// Sends a forum subscription message to a customer
/// </summary>
/// <param name="customer">Customer instance</param>
/// <param name="forumTopic">Forum Topic</param>
/// <param name="forum">Forum</param>
/// <param name="languageId">Message language identifier</param>
/// <returns>Queued email identifier</returns>
public int SendNewForumTopicMessage(Customer customer,
ForumTopic forumTopic, Forum forum, int languageId)
{
if (customer == null)
{
throw new ArgumentNullException("customer");
}
var messageTemplate = GetLocalizedActiveMessageTemplate("Forums.NewForumTopic", languageId);
if (messageTemplate == null || !messageTemplate.IsActive)
{
return 0;
}
var tokens = GenerateTokens(forumTopic);
//event notification
_eventPublisher.MessageTokensAdded(messageTemplate, tokens);
var emailAccount = GetEmailAccountOfMessageTemplate(messageTemplate, languageId);
var toEmail = customer.Email;
var toName = customer.GetFullName();
return SendNotification(messageTemplate, emailAccount, languageId, tokens, toEmail, toName);
}
示例5: ToEntity
public static Forum ToEntity(this ForumModel model, Forum destination)
{
return Mapper.Map(model, destination);
}
示例6: SendNewForumPostMessage
/// <summary>
/// Sends a forum subscription message to a customer
/// </summary>
/// <param name="customer">Customer instance</param>
/// <param name="forumPost">Forum post</param>
/// <param name="forumTopic">Forum Topic</param>
/// <param name="forum">Forum</param>
/// <param name="friendlyForumTopicPageIndex">Friendly (starts with 1) forum topic page to use for URL generation</param>
/// <param name="languageId">Message language identifier</param>
/// <returns>Queued email identifier</returns>
public int SendNewForumPostMessage(Customer customer,
ForumPost forumPost, ForumTopic forumTopic,
Forum forum, int friendlyForumTopicPageIndex, int languageId)
{
if (customer == null)
{
throw new ArgumentNullException("customer");
}
var store = _storeContext.CurrentStore;
var messageTemplate = GetActiveMessageTemplate("Forums.NewForumPost", store.Id);
if (messageTemplate == null )
{
return 0;
}
//email account
var emailAccount = GetEmailAccountOfMessageTemplate(messageTemplate, languageId);
//tokens
var tokens = new List<Token>();
_messageTokenProvider.AddStoreTokens(tokens, store, emailAccount);
_messageTokenProvider.AddForumPostTokens(tokens, forumPost);
_messageTokenProvider.AddForumTopicTokens(tokens, forumPost.ForumTopic,
friendlyForumTopicPageIndex, forumPost.Id);
_messageTokenProvider.AddForumTokens(tokens, forumPost.ForumTopic.Forum);
_messageTokenProvider.AddCustomerTokens(tokens, customer);
//event notification
_eventPublisher.MessageTokensAdded(messageTemplate, tokens);
var toEmail = customer.Email;
var toName = customer.GetFullName();
return SendNotification(messageTemplate, emailAccount, languageId, tokens, toEmail, toName);
}
示例7: DeleteForum
/// <summary>
/// Deletes a forum
/// </summary>
/// <param name="forum">Forum</param>
public virtual void DeleteForum(Forum forum)
{
if (forum == null)
{
throw new ArgumentNullException("forum");
}
//delete forum subscriptions (topics)
var queryTopicIds = from ft in _forumTopicRepository.Table
where ft.ForumId == forum.Id
select ft.Id;
var queryFs1 = from fs in _forumSubscriptionRepository.Table
where queryTopicIds.Contains(fs.TopicId)
select fs;
foreach (var fs in queryFs1.ToList())
{
_forumSubscriptionRepository.Delete(fs);
//event notification
_eventPublisher.EntityDeleted(fs);
}
//delete forum subscriptions (forum)
var queryFs2 = from fs in _forumSubscriptionRepository.Table
where fs.ForumId == forum.Id
select fs;
foreach (var fs2 in queryFs2.ToList())
{
_forumSubscriptionRepository.Delete(fs2);
//event notification
_eventPublisher.EntityDeleted(fs2);
}
//delete forum
_forumRepository.Delete(forum);
_cacheManager.RemoveByPattern(FORUMGROUP_PATTERN_KEY);
_cacheManager.RemoveByPattern(FORUM_PATTERN_KEY);
//event notification
_eventPublisher.EntityDeleted(forum);
}
示例8: UpdateForum
/// <summary>
/// Updates the forum
/// </summary>
/// <param name="forum">Forum</param>
public virtual void UpdateForum(Forum forum)
{
if (forum == null)
{
throw new ArgumentNullException("forum");
}
_forumRepository.Update(forum);
_cacheManager.RemoveByPattern(FORUMGROUP_PATTERN_KEY);
_cacheManager.RemoveByPattern(FORUM_PATTERN_KEY);
//event notification
_eventPublisher.EntityUpdated(forum);
}
示例9: AddForumTokens
public virtual void AddForumTokens(IList<Token> tokens, Forum forum)
{
//TODO add a method for getting URL (use routing because it handles all SEO friendly URLs)
var forumUrl = string.Format("{0}boards/forum/{1}/{2}", GetStoreUrl(), forum.Id, forum.GetSeName());
tokens.Add(new Token("Forums.ForumURL", forumUrl, true));
tokens.Add(new Token("Forums.ForumName", forum.Name));
//event notification
_eventPublisher.EntityTokensAdded(forum, tokens);
}
示例10: IsCustomerAllowedToCreateTopic
/// <summary>
/// Check whether customer is allowed to create new topics
/// </summary>
/// <param name="customer">Customer</param>
/// <param name="forum">Forum</param>
/// <returns>True if allowed, otherwise false</returns>
public virtual bool IsCustomerAllowedToCreateTopic(Customer customer, Forum forum)
{
if (forum == null)
{
return false;
}
if (customer == null)
{
return false;
}
if (customer.IsGuest() && !_forumSettings.AllowGuestsToCreateTopics)
{
return false;
}
if (IsForumModerator(customer))
{
return true;
}
return true;
}
示例11: InstallForums
protected virtual void InstallForums()
{
var forumGroup = new ForumGroup
{
Name = "General",
DisplayOrder = 5,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
};
_forumGroupRepository.Insert(forumGroup);
var newProductsForum = new Forum
{
ForumGroupId = forumGroup.Id,
Name = "New Products",
Description = "Discuss new products and industry trends",
NumTopics = 0,
NumPosts = 0,
LastPostCustomerId = 0,
LastPostTime = null,
DisplayOrder = 1,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
};
_forumRepository.Insert(newProductsForum);
var mobileDevicesForum = new Forum
{
ForumGroupId = forumGroup.Id,
Name = "Mobile Devices Forum",
Description = "Discuss the mobile phone market",
NumTopics = 0,
NumPosts = 0,
LastPostCustomerId = 0,
LastPostTime = null,
DisplayOrder = 10,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
};
_forumRepository.Insert(mobileDevicesForum);
var packagingShippingForum = new Forum
{
ForumGroupId = forumGroup.Id,
Name = "Packaging & Shipping",
Description = "Discuss packaging & shipping",
NumTopics = 0,
NumPosts = 0,
LastPostTime = null,
DisplayOrder = 20,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
};
_forumRepository.Insert(packagingShippingForum);
}
示例12: AddForumTokens
public virtual void AddForumTokens(IList<Token> tokens, Forum forum)
{
//TODO add a method for getting URL (use routing because it handles all SEO friendly URLs)
var forumUrl = string.Format("{0}boards/forum/{1}/{2}", _webHelper.GetStoreLocation(false), forum.Id, forum.GetSeName());
tokens.Add(new Token("Forums.ForumURL", forumUrl, true));
tokens.Add(new Token("Forums.ForumName", forum.Name));
}
示例13: SendNewForumPostMessage
/// <summary>
/// Sends a forum subscription message to a customer
/// </summary>
/// <param name="customer">Customer instance</param>
/// <param name="forumPost">Forum post</param>
/// <param name="forumTopic">Forum Topic</param>
/// <param name="forum">Forum</param>
/// <param name="friendlyForumTopicPageIndex">Friendly (starts with 1) forum topic page to use for URL generation</param>
/// <param name="languageId">Message language identifier</param>
/// <returns>Queued email identifier</returns>
public int SendNewForumPostMessage(Customer customer,
ForumPost forumPost, ForumTopic forumTopic,
Forum forum, int friendlyForumTopicPageIndex, int languageId)
{
if (customer == null)
{
throw new ArgumentNullException("customer");
}
var messageTemplate = GetLocalizedActiveMessageTemplate("Forums.NewForumPost", languageId);
if (messageTemplate == null || !messageTemplate.IsActive)
{
return 0;
}
var tokens = GenerateTokens(forumPost, friendlyForumTopicPageIndex, forumPost.Id);
var emailAccount = GetEmailAccountOfMessageTemplate(messageTemplate, languageId);
var toEmail = customer.Email;
var toName = customer.GetFullName();
return SendNotification(messageTemplate, emailAccount, languageId, tokens, toEmail, toName);
}
示例14: Can_save_and_load_forum_subscription_topic_subscribed
public void Can_save_and_load_forum_subscription_topic_subscribed()
{
var customer = GetTestCustomer();
var customerFromDb = SaveAndLoadEntity(customer);
customerFromDb.ShouldNotBeNull();
var forumGroup = new ForumGroup
{
Name = "Forum Group 1",
Description = "Forum Group 1 Description",
DisplayOrder = 1,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow
};
var forumGroupFromDb = SaveAndLoadEntity(forumGroup);
forumGroupFromDb.ShouldNotBeNull();
forumGroupFromDb.Name.ShouldEqual("Forum Group 1");
forumGroupFromDb.Description.ShouldEqual("Forum Group 1 Description");
forumGroupFromDb.DisplayOrder.ShouldEqual(1);
var forum = new Forum
{
ForumGroup = forumGroupFromDb,
Name = "Forum 1",
Description = "Forum 1 Description",
ForumGroupId = forumGroupFromDb.Id,
DisplayOrder = 10,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
NumPosts = 25,
NumTopics = 15
};
forumGroup.Forums.Add(forum);
var forumFromDb = SaveAndLoadEntity(forum);
forumFromDb.ShouldNotBeNull();
forumFromDb.Name.ShouldEqual("Forum 1");
forumFromDb.Description.ShouldEqual("Forum 1 Description");
forumFromDb.DisplayOrder.ShouldEqual(10);
forumFromDb.NumTopics.ShouldEqual(15);
forumFromDb.NumPosts.ShouldEqual(25);
forumFromDb.ForumGroupId.ShouldEqual(forumGroupFromDb.Id);
var forumTopic = new ForumTopic
{
Subject = "Forum Topic 1",
Forum = forumFromDb,
ForumId = forumFromDb.Id,
TopicTypeId = (int)ForumTopicType.Sticky,
Views = 123,
CreatedOnUtc = DateTime.UtcNow,
UpdatedOnUtc = DateTime.UtcNow,
NumPosts = 100,
CustomerId = customerFromDb.Id,
};
var forumTopicFromDb = SaveAndLoadEntity(forumTopic);
forumTopicFromDb.ShouldNotBeNull();
forumTopicFromDb.Subject.ShouldEqual("Forum Topic 1");
forumTopicFromDb.Views.ShouldEqual(123);
forumTopicFromDb.NumPosts.ShouldEqual(100);
forumTopicFromDb.TopicTypeId.ShouldEqual((int)ForumTopicType.Sticky);
forumTopicFromDb.ForumId.ShouldEqual(forumFromDb.Id);
var forumSubscription = new ForumSubscription
{
CreatedOnUtc = DateTime.UtcNow,
SubscriptionGuid = new Guid("11111111-2222-3333-4444-555555555555"),
TopicId = forumTopicFromDb.Id,
CustomerId = customerFromDb.Id,
};
var forumSubscriptionFromDb = SaveAndLoadEntity(forumSubscription);
forumSubscriptionFromDb.ShouldNotBeNull();
forumSubscriptionFromDb.SubscriptionGuid.ToString().ShouldEqual("11111111-2222-3333-4444-555555555555");
forumSubscriptionFromDb.TopicId.ShouldEqual(forumTopicFromDb.Id);
forumSubscriptionFromDb.ForumId.ShouldEqual(0);
}
示例15: GenerateTokens
private IList<Token> GenerateTokens(Forum forum)
{
var tokens = new List<Token>();
_messageTokenProvider.AddStoreTokens(tokens);
_messageTokenProvider.AddForumTokens(tokens, forum);
return tokens;
}