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

📄 core.cs

📁 CSDN助手.net 由于csdn论坛改版
💻 CS
📖 第 1 页 / 共 2 页
字号:
					default:
						topic = lda.GetTopic(TopicId);
						break;
				}
			}
			return topic;
		}
		/// <summary>
		/// 检查该帖子是否被更新
		/// </summary>
		/// <param name="TopicId"></param>
		/// <returns></returns>
		public bool TopicHasUpdated(String TopicId)
		{
			Topic localTopic = lda.GetTopic(TopicId);
			Topic remoteTopic = rda.GetTopic(TopicId);
			if(remoteTopic.ReplyNum > localTopic.ReplyNum)
				return true;
			else
				return false;
		}

		public void UpdataDataSet()
		{
			lda.FillDataSet();
		}

		public void SaveDate()
		{
			lda.SaveDataSet("TopicIndex");
			lda.SaveDataSet("Issue");
			lda.SaveDataSet("Reply");
		}

		public DataView GetForumUpdateView(string RoomId, string Block)
		{
			return lda.GetForumUpdateView(RoomId,Block);
		}

		public DataView Seach(int room, int block, string begintime, string endtime, bool seachall, bool seachreply, int seachtype, string keyword)
		{
			string filter;
			DataView dataView;
			switch(seachtype)
			{
				case 1 ://标题
					DataView dv = lda.dvTopicIndex;
					filter = "TopicName LIKE '*" + keyword + "*' and ReplyDateTime >= '" + begintime + "' and ReplyDateTime <= '" + endtime + "'";
					if(!seachall)
						filter += " and RoomId = '" + room.ToString() + "' and Block = '" + block.ToString() + "'";
					dv.RowFilter = filter;
					dataView = dv;
					break;
				case 2 ://全文
					DataView dvissue = lda.dvIssue;
					DataView dvreply = lda.dvReply;
					DataView dvtopic = lda.dvTopicIndex;
					DataView dvtopicindex = lda.dvTopicIndex;
					string tifilter = "TopicName LIKE '*" + keyword + "*' and ReplyDateTime >= '" + begintime + "' and ReplyDateTime <= '" + endtime + "'";
					filter = "Content LIKE '*" + keyword + "*' and PostDateTime >= '" + begintime + "' and PostDateTime <= '" + endtime + "'";
					if(!seachall)
					{
						filter += " and RoomId = '" + room.ToString() + "' and Block = '" + block.ToString() + "'";
						tifilter += " and RoomId = '" + room.ToString() + "' and Block = '" + block.ToString() + "'";
					}
					dvissue.RowFilter = filter;
					dvtopic.RowFilter = tifilter;
					DataTable dt = CreateTopicIndexTable();
					for(int i = 0; i < dvtopic.Count; i++)
					{
						dvtopicindex.RowFilter = "TopicId = '" + dvtopic[i]["TopicId"].ToString() + "'";
						if(!HasThisTopic(dvtopic[i]["TopicId"].ToString(),dt))
						{
							DataRow dr = dt.NewRow();
							dr["TopicId"] = dvtopicindex[0]["TopicId"].ToString();
							dr["TopicName"] = dvtopicindex[0]["TopicName"].ToString();
							dr["PostUserName"] = dvtopicindex[0]["PostUserName"].ToString();
							dr["ReplyNum"] = (int)dvtopicindex[0]["ReplyNum"];
							dr["ReplyDateTime"] = dvtopicindex[0]["ReplyDateTime"].ToString();
							dr["Point"] = (int)dvtopicindex[0]["Point"];
							if(dvtopicindex[0]["endstate"].ToString() == "False")
								dr["endstate"] = false;
							else
								dr["endstate"] = true;
							dr["RoomId"] = dvtopicindex[0]["RoomId"].ToString();
							dr["Block"] = dvtopicindex[0]["Block"].ToString();
							dr["TopicStatus"] = (int)dvtopicindex[0]["TopicStatus"];
							if(dvtopicindex[0]["HasSeen"].ToString() == "True")
								dr["HasSeen"] = true;
							else
								dr["HasSeen"] = false;
							if(dvtopicindex[0]["Favor"].ToString() == "True")
								dr["Favor"] = true;
							else
								dr["Favor"] = false;
							dr["Usage1"] = dvtopicindex[0]["Usage1"].ToString();
							dr["Usage2"] = dvtopicindex[0]["Usage2"].ToString();
							dr["Usage3"] = dvtopicindex[0]["Usage3"].ToString();
							dt.Rows.Add(dr);
						}
					}
					for(int i = 0; i < dvissue.Count; i++)
					{
						dvtopicindex.RowFilter = "TopicId = '" + dvissue[i]["TopicId"].ToString() + "'";
						if(!HasThisTopic(dvissue[i]["TopicId"].ToString(),dt))
						{
							DataRow dr = dt.NewRow();
							dr["TopicId"] = dvtopicindex[0]["TopicId"].ToString();
							dr["TopicName"] = dvtopicindex[0]["TopicName"].ToString();
							dr["PostUserName"] = dvtopicindex[0]["PostUserName"].ToString();
							dr["ReplyNum"] = (int)dvtopicindex[0]["ReplyNum"];
							dr["ReplyDateTime"] = dvtopicindex[0]["ReplyDateTime"].ToString();
							dr["Point"] = (int)dvtopicindex[0]["Point"];
							if(dvtopicindex[0]["endstate"].ToString() == "False")
								dr["endstate"] = false;
							else
								dr["endstate"] = true;
							dr["RoomId"] = dvtopicindex[0]["RoomId"].ToString();
							dr["Block"] = dvtopicindex[0]["Block"].ToString();
							dr["TopicStatus"] = (int)dvtopicindex[0]["TopicStatus"];
							if(dvtopicindex[0]["HasSeen"].ToString() == "True")
								dr["HasSeen"] = true;
							else
								dr["HasSeen"] = false;
							if(dvtopicindex[0]["Favor"].ToString() == "True")
								dr["Favor"] = true;
							else
								dr["Favor"] = false;
							dr["Usage1"] = dvtopicindex[0]["Usage1"].ToString();
							dr["Usage2"] = dvtopicindex[0]["Usage2"].ToString();
							dr["Usage3"] = dvtopicindex[0]["Usage3"].ToString();
							dt.Rows.Add(dr);
						}
					}
					if(seachreply)
					{
						dvreply.RowFilter = filter;
						for(int i = 0; i < dvreply.Count; i++)
						{
							dvtopicindex.RowFilter = "TopicId = '" + dvreply[i]["TopicId"].ToString() + "'";
							if(!HasThisTopic(dvreply[i]["TopicId"].ToString(),dt))
							{
								DataRow dr = dt.NewRow();
								dr["TopicId"] = dvtopicindex[0]["TopicId"].ToString();
								dr["TopicName"] = dvtopicindex[0]["TopicName"].ToString();
								dr["PostUserName"] = dvtopicindex[0]["PostUserName"].ToString();
								dr["ReplyNum"] = (int)dvtopicindex[0]["ReplyNum"];
								dr["ReplyDateTime"] = dvtopicindex[0]["ReplyDateTime"].ToString();
								dr["Point"] = (int)dvtopicindex[0]["Point"];
								if(dvtopicindex[0]["endstate"].ToString() == "False")
									dr["endstate"] = false;
								else
									dr["endstate"] = true;
								dr["RoomId"] = dvtopicindex[0]["RoomId"].ToString();
								dr["Block"] = dvtopicindex[0]["Block"].ToString();
								dr["TopicStatus"] = (int)dvtopicindex[0]["TopicStatus"];
								if(dvtopicindex[0]["HasSeen"].ToString() == "True")
									dr["HasSeen"] = true;
								else
									dr["HasSeen"] = false;
								if(dvtopicindex[0]["Favor"].ToString() == "True")
									dr["Favor"] = true;
								else
									dr["Favor"] = false;
								dr["Usage1"] = dvtopicindex[0]["Usage1"].ToString();
								dr["Usage2"] = dvtopicindex[0]["Usage2"].ToString();
								dr["Usage3"] = dvtopicindex[0]["Usage3"].ToString();
								dt.Rows.Add(dr);
							}
						}
					}
					dt.DefaultView.Sort = "ReplyDateTime Desc";
					dataView = dt.DefaultView;
					break;
				default ://作者
					dvreply = lda.dvReply;
					dvtopic = lda.dvTopicIndex;
					tifilter = "PostUserName = '" + keyword + "' and ReplyDateTime >= '" + begintime + "' and ReplyDateTime <= '" + endtime + "'";
					dvtopicindex = lda.dvTopicIndex;
					filter = "PostUserName = '" + keyword + "' and PostDateTime >= '" + begintime + "' and PostDateTime <= '" + endtime + "'";
					if(!seachall)
					{
						filter += " and RoomId = '" + room.ToString() + "' and Block = '" + block.ToString() + "'";
						tifilter += " and RoomId = '" + room.ToString() + "' and Block = '" + block.ToString() + "'";
					}
					dvtopic.RowFilter = tifilter;
					dt = CreateTopicIndexTable();
					for(int i = 0; i < dvtopic.Count; i++)
					{
						dvtopicindex.RowFilter = "TopicId = '" + dvtopic[i]["TopicId"].ToString() + "'";
						if(!HasThisTopic(dvtopic[i]["TopicId"].ToString(),dt))
						{
							DataRow dr = dt.NewRow();
							dr["TopicId"] = dvtopicindex[0]["TopicId"].ToString();
							dr["TopicName"] = dvtopicindex[0]["TopicName"].ToString();
							dr["PostUserName"] = dvtopicindex[0]["PostUserName"].ToString();
							dr["ReplyNum"] = (int)dvtopicindex[0]["ReplyNum"];
							dr["ReplyDateTime"] = dvtopicindex[0]["ReplyDateTime"].ToString();
							dr["Point"] = (int)dvtopicindex[0]["Point"];
							if(dvtopicindex[0]["endstate"].ToString() == "False")
								dr["endstate"] = false;
							else
								dr["endstate"] = true;
							dr["RoomId"] = dvtopicindex[0]["RoomId"].ToString();
							dr["Block"] = dvtopicindex[0]["Block"].ToString();
							dr["TopicStatus"] = (int)dvtopicindex[0]["TopicStatus"];
							if(dvtopicindex[0]["HasSeen"].ToString() == "True")
								dr["HasSeen"] = true;
							else
								dr["HasSeen"] = false;
							if(dvtopicindex[0]["Favor"].ToString() == "True")
								dr["Favor"] = true;
							else
								dr["Favor"] = false;
							dr["Usage1"] = dvtopicindex[0]["Usage1"].ToString();
							dr["Usage2"] = dvtopicindex[0]["Usage2"].ToString();
							dr["Usage3"] = dvtopicindex[0]["Usage3"].ToString();
							dt.Rows.Add(dr);
						}
					}

					if(seachreply)
					{
						dvreply.RowFilter = filter;
						for(int i = 0; i < dvreply.Count; i++)
						{
							dvtopicindex.RowFilter = "TopicId = '" + dvreply[i]["TopicId"].ToString() + "'";
							if(!HasThisTopic(dvreply[i]["TopicId"].ToString(),dt))
							{
								DataRow dr = dt.NewRow();
								dr["TopicId"] = dvtopicindex[0]["TopicId"].ToString();
								dr["TopicName"] = dvtopicindex[0]["TopicName"].ToString();
								dr["PostUserName"] = dvtopicindex[0]["PostUserName"].ToString();
								dr["ReplyNum"] = (int)dvtopicindex[0]["ReplyNum"];
								dr["ReplyDateTime"] = dvtopicindex[0]["ReplyDateTime"].ToString();
								dr["Point"] = (int)dvtopicindex[0]["Point"];
								if(dvtopicindex[0]["endstate"].ToString() == "False")
									dr["endstate"] = false;
								else
									dr["endstate"] = true;
								dr["RoomId"] = dvtopicindex[0]["RoomId"].ToString();
								dr["Block"] = dvtopicindex[0]["Block"].ToString();
								dr["TopicStatus"] = (int)dvtopicindex[0]["TopicStatus"];
								if(dvtopicindex[0]["HasSeen"].ToString() == "True")
									dr["HasSeen"] = true;
								else
									dr["HasSeen"] = false;
								if(dvtopicindex[0]["Favor"].ToString() == "True")
									dr["Favor"] = true;
								else
									dr["Favor"] = false;
								dr["Usage1"] = dvtopicindex[0]["Usage1"].ToString();
								dr["Usage2"] = dvtopicindex[0]["Usage2"].ToString();
								dr["Usage3"] = dvtopicindex[0]["Usage3"].ToString();
								dt.Rows.Add(dr);
							}
						}
					}
					dataView = dt.DefaultView;
					break;
			}
			return dataView;
		}

		private DataTable CreateTopicIndexTable()
		{
			DataTable dt = new DataTable("TopicIndex");
			dt.Columns.Add("TopicId",System.Type.GetType("System.String"));
			dt.Columns.Add("TopicName",System.Type.GetType("System.String"));
			dt.Columns.Add("PostUserName",System.Type.GetType("System.String"));
			dt.Columns.Add("ReplyNum",System.Type.GetType("System.Int32"));
			dt.Columns.Add("ReplyDateTime",System.Type.GetType("System.String"));
			dt.Columns.Add("Point",System.Type.GetType("System.Int32"));
			dt.Columns.Add("endstate",System.Type.GetType("System.Boolean"));
			dt.Columns.Add("RoomId",System.Type.GetType("System.String"));
			dt.Columns.Add("Block",System.Type.GetType("System.String"));
			dt.Columns.Add("TopicStatus",System.Type.GetType("System.Int32"));
			dt.Columns.Add("HasSeen",System.Type.GetType("System.Boolean"));
			dt.Columns.Add("Favor",System.Type.GetType("System.Boolean"));
			dt.Columns.Add("Usage1",System.Type.GetType("System.String"));
			dt.Columns.Add("Usage2",System.Type.GetType("System.String"));
			dt.Columns.Add("Usage3",System.Type.GetType("System.String"));
			return dt;
		}

		private bool HasThisTopic(string TopicId, DataTable dt)
		{
			DataView dv = new DataView(dt);
			dv.RowFilter = "TopicId = '" + TopicId + "'";
			if(dv.Count != 0)
				return true;
			else
				return false;
		}

		public void Reply(string Topicid, string xmlReply, string csdnname, string csdnpassword, string ReplyContent)
		{
			NameValueCollection nvc = new NameValueCollection();
			nvc.Add("Topicid",Topicid);
			nvc.Add("xmlReply",xmlReply);
			nvc.Add("csdnname",csdnname);
			nvc.Add("csdnpassword",csdnpassword);
			nvc.Add("ReplyContent",ReplyContent);

			rda.PostData("http://www.csdn.net/Expert/reply.asp",nvc, aspsessionid);
		}

		public void Post(string typestate, string Point, string TopicName, string Room, string Content)
		{
			NameValueCollection nvc = new NameValueCollection();
			nvc.Add("typestate",typestate);
			nvc.Add("Point",Point);
			nvc.Add("TopicName",TopicName);
			nvc.Add("Room",Room);
			nvc.Add("Content",Content);

			rda.PostData("http://www.csdn.net/Expert/PostNew_SQL.asp",nvc, aspsessionid);
		}

		public bool Login(string Name,string Password)
		{
			string header = rda.Logon("http://www.csdn.net/member/logon.asp",Name,Password);
			if(header != null)
			{
				aspsessionid = header;
				hasLogin = true;
				return true;
			}
			else
			{
				hasLogin = false;
				return false;
			}
		}
	}
}

⌨️ 快捷键说明

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