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

📄 topic.cs

📁 wrox c#高级编程
💻 CS
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.Web;
 
namespace Wrox.WebModules.Forums.Business
{
	/// <summary>
	/// Summary description for Topic.
	/// </summary>
	public sealed class Topic : Wrox.WebModules.Business.BizObject
	{	
		private Configuration.ModuleSettings settings;
		private int forumID;
		private int topicID;
		private string key;
		private string subject;
		private string message;
		private DateTime addedDate;
		private int replies;
		private DateTime lastReplyDate;
		private DateTime lastPostDate;
		private int memberID;
		private string memberIP;
				
		// constructors
		public Topic()
		{ 
			settings = Configuration.ModuleConfig.GetSettings();
			ResetProperties();
		}

		public Topic(int existingTopicID)
		{			
			settings = Configuration.ModuleConfig.GetSettings();
			topicID = existingTopicID;
			LoadFromID();						
		}

		public Topic(Topic existingTopic)
		{									
			settings = Configuration.ModuleConfig.GetSettings();
			topicID = existingTopic.ID;
			LoadFromID();
		}

		public Topic(string existingTopicKey)
		{									
			settings = Configuration.ModuleConfig.GetSettings();
			LoadFromKey(existingTopicKey);
		}
		
		// retrieve the values for the properties
		private void LoadFromID()
		{
			Data.Topics topics = new Data.Topics(settings.ConnectionString);
			Data.TopicDetails details = topics.GetDetails(topicID);

			topicID = details.TopicID;
			forumID = details.ForumID;
			key = details.TopicKey;
			subject = details.Subject;
			message = details.Message;
			addedDate = details.AddedDate;
			replies = details.Replies;
			lastReplyDate = details.LastReplyDate;
			lastPostDate = details.LastPostDate;
			memberID = details.MemberID;
			memberIP = details.MemberIP;
		}

		public int LoadFromID(int existingTopicID)
		{		
			topicID = existingTopicID;
			LoadFromID();
			return topicID;
		}

		public int LoadFromKey(string existingTopicKey)
		{
			Data.Topics topics = new Data.Topics(settings.ConnectionString);
			topicID = topics.GetTopicID(existingTopicKey);

			if (topicID == -1)
				ResetProperties();
			else
				LoadFromID();

			return topicID;
		}

		// reset the properties
		private void ResetProperties()
		{
			topicID = -1;
			forumID = -1;
			key = "";
			subject = "";
			message = "";
			addedDate = new DateTime();
			replies = 0;
			lastReplyDate = new DateTime();
			lastPostDate = new DateTime();
			memberID = -1;
			memberIP = "";
		}

		// create a new record
		public int Create(int topicForumID, string topicKey, string topicSubject, 
			string topicMessage, int topicMemberID)
		{		
			Data.Topics topics = new Data.Topics(settings.ConnectionString);
			topicID = topics.Add(topicForumID, topicKey, topicSubject, 
				topicMessage, topicMemberID, HttpContext.Current.Request.UserHostAddress);
			LoadFromID();
			return topicID;
		}

		// update the record represented by this object
		public bool Update()
		{
			Data.Topics topics = new Data.Topics(settings.ConnectionString);
			return topics.Update(topicID, key, subject, message);
		}

		// delete the record represented by this object
		public bool Delete()
		{
			Data.Topics topics = new Data.Topics(settings.ConnectionString);
			bool ret = topics.Delete(topicID);
			ResetProperties();
			return ret;
		}

		// return the child replies
		public DataSet GetReplies()
		{
			Data.Replies replies = new Data.Replies(settings.ConnectionString);
			return replies.GetReplies(topicID);
		}

		public DataSet GetReplies(int pageNumber)
		{
			Data.Replies replies = new Data.Replies(settings.ConnectionString);
			return replies.GetReplies(topicID, pageNumber, settings.RepliesPerPage);
		}

		// add a new child reply
		public Reply AddReply(string replyMessage, int replyMemberID)
		{
			Business.Reply reply = new Business.Reply();
			reply.Create(forumID, topicID, replyMessage, replyMemberID);
			return reply;
		}


		// PROPERTIES DEFINED BELOW

		public int ForumID
		{
			get { return forumID; }
		}

		public Business.Forum Forum
		{
			get { return new Forum(forumID); }
		}

		public int MemberID
		{
			get { return memberID; }
		}

		public Business.Member Member
		{
			get { return new Member(memberID); }
		}

		public int ID
		{
			get { return topicID; }
		}

		public string Key
		{
			get { return key; }
			set { key = value; }
		}

		public string Subject
		{
			get { return subject; }
			set { subject = value; }
		}

		public string Message
		{
			get { return message; }
			set { message = value; }
		}

		public DateTime AddedDate
		{
			get { return addedDate; }
		}

		public int Replies
		{
			get { return replies; }
		}

		public DateTime LastReplyDate
		{
			get { return lastReplyDate; }
		}

		public DateTime LastPostDate
		{
			get { return lastPostDate; }
		}

		public string MemberIP
		{
			get { return memberIP; }
		}
		
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -