📄 forum.cs
字号:
using System;
using System.Data;
using System.Data.SqlClient;
namespace Wrox.WebModules.Forums.Business
{
/// <summary>
/// Summary description for Forum.
/// </summary>
public sealed class Forum : Wrox.WebModules.Business.BizObject
{
private Configuration.ModuleSettings settings;
private int categoryID;
private int forumID;
private string name;
private string description;
private int position;
private int topics;
private int posts;
private DateTime lastPostDate;
// constructors
public Forum()
{
settings = Configuration.ModuleConfig.GetSettings();
ResetProperties();
}
public Forum(int existingForumID)
{
settings = Configuration.ModuleConfig.GetSettings();
forumID = existingForumID;
LoadFromID();
}
public Forum(Forum existingForum)
{
settings = Configuration.ModuleConfig.GetSettings();
forumID = existingForum.ID;
LoadFromID();
}
// retrieve the values for the properties
private void LoadFromID()
{
Data.Forums forums = new Data.Forums(settings.ConnectionString);
Data.ForumDetails details = forums.GetDetails(forumID);
forumID = details.ForumID;
categoryID = details.CategoryID;
name = details.Name;
description = details.Description;
position = details.Position;
topics = details.Topics;
posts = details.Posts;
lastPostDate = details.LastPostDate;
}
public int LoadFromID(int existingForumID)
{
forumID = existingForumID;
LoadFromID();
return forumID;
}
// reset the properties
private void ResetProperties()
{
forumID = -1;
categoryID = -1;
name = "";
description = "";
position = 0;
topics = 0;
posts = 0;
lastPostDate = new DateTime();
}
// create a new record
public int Create(int forumCategoryID, string forumName, string forumDescription, int forumPosition)
{
Data.Forums forums = new Data.Forums(settings.ConnectionString);
forumID = forums.Add(forumCategoryID, forumName, forumDescription, forumPosition);
LoadFromID();
return forumID;
}
// update the record represented by this object
public bool Update()
{
Data.Forums forums = new Data.Forums(settings.ConnectionString);
return forums.Update(forumID, name, description, position);
}
// delete the record represented by this object
public bool Delete()
{
Data.Forums forums = new Data.Forums(settings.ConnectionString);
bool ret = forums.Delete(forumID);
ResetProperties();
return ret;
}
// return the child topics
public DataSet GetTopics()
{
Data.Topics topics = new Data.Topics(settings.ConnectionString);
return topics.GetTopics(forumID);
}
public DataSet GetTopics(int pageNumber)
{
Data.Topics topics = new Data.Topics(settings.ConnectionString);
return topics.GetTopics(forumID, pageNumber, settings.TopicsPerPage);
}
// add a new child topic
public Topic AddTopic(string topicKey, string subject, string message, int memberID)
{
Business.Topic topic = new Business.Topic();
topic.Create(forumID, topicKey, subject, message, memberID);
return topic;
}
// PROPERTIES DEFINED BELOW
public int CategoryID
{
get { return categoryID; }
}
public Business.Category Category
{
get { return new Category(categoryID); }
}
public int ID
{
get { return forumID; }
}
public string Name
{
get { return name; }
set { name = value; }
}
public string Description
{
get { return description; }
set { description = value; }
}
public int Position
{
get { return position; }
set { position = value; }
}
public int Topics
{
get { return topics; }
}
public int Posts
{
get { return posts; }
}
public DateTime LastPostDate
{
get { return lastPostDate; }
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -