⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 forum.cs

📁 wrox c#高级编程
💻 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 + -