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

📄 com_forumtopics.asmx.cs

📁 ASP.NET的一些开发实例,有论坛管理系统等
💻 CS
📖 第 1 页 / 共 3 页
字号:
				DataSet dsAcc=this.COMInterface.CreateDataSetFromSql(SqlString);
				foreach(DataRow dr in dsAcc.Tables[0].Rows)
				{
					if(dr["t_view_count"].ToString().Trim() == string.Empty  || dr["t_view_count"].ToString().Trim() == null)
					{
						dr["t_view_count"] = 1;
					}
					else if (dr["t_view_count"].ToString().Trim() != string.Empty  && dr["t_view_count"].ToString().Trim() != null)
					{
						int topiccount = int.Parse(dr["t_view_count"].ToString().Trim());
						dr["t_view_count"] = topiccount +1;
					}
					if(dr["limit_count"].ToString().Trim() != string.Empty &&  dr["limit_count"].ToString().Trim() != null)
					{
						int limitcount = int.Parse(dr["limit_count"].ToString());
						string limit_viewemp = dr["limit_viewemp"].ToString();
						string[] viewemp = limit_viewemp.Split(new char[]{','});
						string sCount = string.Empty;
						string strviewemp = string.Empty;
						int viewcount = 0;
						foreach(string str in viewemp)
						{
							string strSearch = string.Format("[{0}](",accname);
							if(str.IndexOf(strSearch)==0)
							{
								strviewemp =str;
								sCount = strviewemp.Replace(strSearch,"");
								sCount = sCount.Replace(")","");
								break;
							}							
						}
						if(sCount != string.Empty)
						{
							viewcount = int.Parse(sCount);
						}
						if(viewcount<limitcount)
						{
							int n = viewcount+1; 
							sCount = n.ToString();
						}
						else if(viewcount==limitcount)
						{
							sCount = viewcount.ToString();
						}
						sCount = string.Format("[{0}]({1})",accname,sCount);
						limit_viewemp = limit_viewemp.Replace(strviewemp,sCount);
						dr["limit_viewemp"] = limit_viewemp;
					}
					else
					{
						string limit_viewemp = dr["limit_viewemp"].ToString();
						string[] viewemp = limit_viewemp.Split(new char[]{','});
						string sCount = string.Empty;
						string strviewemp = string.Empty;
						int viewcount = 0;
						foreach(string str in viewemp)
						{
							string strSearch = string.Format("[{0}](",accname);
							if(str.IndexOf(strSearch)==0)
							{
								strviewemp =str;
								sCount = strviewemp.Replace(strSearch,"");
								sCount = sCount.Replace(")","");
								break;
							}							
						}
						if(sCount != string.Empty)
						{
							viewcount = int.Parse(sCount);
						}
						int n = viewcount+1; 
						sCount = n.ToString();
						sCount = string.Format("[{0}]({1})",accname,sCount);
						limit_viewemp = limit_viewemp.Replace(strviewemp,sCount);
						dr["limit_viewemp"] = limit_viewemp;
					}
				}
				this.EditData(dsAcc,"0",ref sReturn);
			}			
		}

		[WebMethod]
		public void EditViewEmp(string topic_id,string viewemp)
		{
			//			string sReturn = string.Empty;
			//			DataSet dsAcc=new DataSet();
			//			if(topic_id.Trim() != string.Empty && viewemp.Trim() != string.Empty)
			//			{
			//				string[] FieldValue = {topic_id,viewemp};
			//				string[] FieldName = {"topic_id","view_emp"};
			//				dsAcc = this.GetTopics(FieldName,FieldValue);
			//				if(dsAcc.Tables[0].Rows.Count < 1)
			//				{
			//					string[] FieldValue1 = {topic_id};
			//					string[] FieldName1 = {"topic_id"};
			//					dsAcc = this.GetTopics(FieldName1,FieldValue1);
			//					if(dsAcc.Tables[0].Rows.Count ==1)
			//					{
			//						string v_emp = dsAcc.Tables[0].Rows[0]["view_emp"].ToString();
			//						if(v_emp.Trim() != string.Empty)
			//						{
			//							v_emp = string.Format("{0},[{1}]",v_emp,viewemp);
			//						}
			//						else
			//						{
			//							v_emp = string.Format("[{0}]",viewemp);
			//						}
			//						dsAcc.Tables[0].Rows[0]["view_emp"] = v_emp;
			//					}
			//				}
			//				this.EditData(dsAcc,"0",ref sReturn);
			//			}		
			//			return dsAcc;
			string SqlString="select view_emp,limit_viewemp from forum_topics where topic_id="+topic_id;
			DataSet dsOld=this.COMInterface.CreateDataSetFromSql(SqlString);
			if(dsOld.Tables[0].Rows.Count>0)
			{
				string sViewEmp="";
				string sLimitViewEmp=string.Empty;
				foreach(DataRow row in dsOld.Tables[0].Rows)
				{
					sViewEmp=row["view_emp"].ToString();
					sLimitViewEmp = row["limit_viewemp"].ToString();
				}
				if(sViewEmp.IndexOf("["+viewemp+"]")==-1)
				{
					sViewEmp+=",["+viewemp+"]";
					SqlString="update forum_topics set view_emp='"+sViewEmp+"' where topic_id="+topic_id;
					SqlCommand mySqlCommand = new SqlCommand();
					SqlTransaction myTrans;

					this.SqlConn.Open();//启动连接
					myTrans = this.SqlConn.BeginTransaction();//建立事务
					mySqlCommand.Connection = this.SqlConn;//建立sql命令连接
					mySqlCommand.Transaction = myTrans;//绑定事务

					int nErr=0;

					try
					{
						nErr= this.COM_BASE.UpdateTableBaseFromSQL(ref mySqlCommand,ref SqlConn,ref myTrans,SqlString);
					}
					catch (Exception e)
					{
						nErr = 1;
					}
		
					if (nErr == 1)
					{
						//sReturn =  "修改浏览人失败";
					}
					else 
					{
						myTrans.Commit();
						this.SqlConn.Close();
						//sReturn = "增加成功";
						//break;
					}
				}
				if(sLimitViewEmp.IndexOf("["+viewemp+"]")==-1)
				{
					sLimitViewEmp+=",["+viewemp+"](0)";
					SqlString="update forum_topics set limit_viewemp='"+sLimitViewEmp+"' where topic_id="+topic_id;
					SqlCommand mySqlCommand = new SqlCommand();
					SqlTransaction myTrans;

					this.SqlConn.Open();//启动连接
					myTrans = this.SqlConn.BeginTransaction();//建立事务
					mySqlCommand.Connection = this.SqlConn;//建立sql命令连接
					mySqlCommand.Transaction = myTrans;//绑定事务

					int nErr=0;

					try
					{
						nErr= this.COM_BASE.UpdateTableBaseFromSQL(ref mySqlCommand,ref SqlConn,ref myTrans,SqlString);
					}
					catch (Exception e)
					{
						nErr = 1;
					}
		
					if (nErr == 1)
					{
						//sReturn =  "修改浏览人失败";
					}
					else 
					{
						myTrans.Commit();
						this.SqlConn.Close();
						//sReturn = "增加成功";
						//break;
					}
				}
			}
			//return SqlString;
		}

		[WebMethod]
		public DataSet GetTopics(string[] FieldName,string[] FieldValue,string accname)
		{
			DataSet ds = new DataSet();
			string sqlwhere = string.Empty;
			for(int i=2;i<FieldName.Length;i++)
			{
				switch(FieldName[i])
				{
					case "receive_emp":
						sqlwhere = string.Format(" {0} {1} like '%[[]{2}%]' or {1} like '%[[]ALL]%'and t_author <> '{2}' and ",sqlwhere,FieldName[i],FieldValue[i-2]);
						break;
					case "worning_emp":
						sqlwhere = string.Format(" {0} {1} like '%[[]{2}]%' and ",sqlwhere,FieldName[i],FieldValue[i-2]);
						break;
					case "r_author":
						sqlwhere = string.Format(" topic_id in ( select topic_id from forum_reply where {0} = '{1}' ) and ",FieldName[i],FieldValue[i-2]);
						break;
					case "stow_emp":
						sqlwhere = string.Format(" topic_id in ( select topic_id from forum_topics_stow where {0} = '{1}' ) and ",FieldName[i],FieldValue[i-2]);
						break;
					case "acc_res":
						string strsql =string.Empty;
						if(FieldValue[i-2].ToString().Trim() != string.Empty)
						{
							string straccname = FieldValue[i-2].ToString().Trim();
							string strsql1 = string.Format(" select acc_res from system_account where acc_name = '{0}'",straccname);
							DataSet ds1 = this.COM_BASE.CreateDataSetFromSql(strsql1);
							string stracc = ds1.Tables[0].Rows[0]["acc_res"].ToString();
							stracc = stracc.Replace("[","'");
							stracc = stracc.Replace("]","'");
							//string[] acc_name = stracc.Split(new char[]{','});							
							//							for(int j=0;j<acc_name.Length;j++)
							//							{
							//								strsql = string.Format(" {0} t_author = '{1}' or ",strsql,acc_name[j]);
							//							}
							//							strsql = strsql.Remove(strsql.Length-3,3);
							strsql = string.Format(" t_author in ({0})",stracc);
						}
						sqlwhere = string.Format(" {0} and ",strsql);
						break;
					case "view_emp":
						sqlwhere = string.Format(" {0} {1} not like '%[[]{2}%]' and t_author <> '{2}' and ",sqlwhere,FieldName[i],FieldValue[i-2]);
						break;
					default:
						sqlwhere = string.Format(" {0} {1} = '{2}' and ",sqlwhere,FieldName[i],FieldValue[i-2]);
						break;
				}
			}
			sqlwhere = sqlwhere.Remove(sqlwhere.Length-4,4);
			if(sqlwhere.Trim() != string.Empty)
			{
				string strsql="";
				if(FieldName[0]!=string.Empty)
				{
					 strsql = string.Format("{1} where {0} order by topic_id DESC",sqlwhere,this.COMInterface.CreateSqlFromInterface(FieldName[0],FieldName[1]));
					string str=strsql;
				}
				else
				{
					 strsql = string.Format("{1} where {0} order by topic_id DESC",sqlwhere,"select * from forum_topics ");
				}
				ds= this.COM_BASE.CreateDataSetFromSql(strsql);
			}
			this.DsGetTopicIds(ref ds,accname);
			//this.DsView(ref ds,accname);
			return ds;
		}	

        [WebMethod]
		public DataSet DsGetTopicIds(ref DataSet ds,string accname)
		{
			string sqlwhere = string.Format("isnull(limit_count,0)<>0 or isnull(limit_datetime,'') <> '' ");
			DataRow[] dr = ds.Tables[0].Select(sqlwhere,"",DataViewRowState.CurrentRows);
			int y = dr.Length;
			int n = 0;
			foreach(DataRow row in dr)
			{
				if(row["limit_count"].ToString()!=string.Empty)
				{
					int count = int.Parse(row["limit_count"].ToString());
					string limit_viewemp = row["limit_viewemp"].ToString();
					string[] viewemp = limit_viewemp.Split(new char[]{','});
					foreach(string str in viewemp)
					{
						string str1 = string.Format("[{0}]({1})",accname,count.ToString());
						if (str == str1)
						{
							n=1;
							break;
						}
					}
				}
				if( n !=1)
				{
					if(row["limit_datetime"].ToString()!=string.Empty)
					{
						int limit_datetime = int.Parse(row["limit_datetime"].ToString());
						DateTime dt = DateTime.Parse(row["t_date"].ToString()).AddDays(limit_datetime);				
						if(dt.CompareTo(System.DateTime.Today)<0)
						{
							n=1;
						}
					}
				}				
				if(n==1)
				{
					ds.Tables[0].Rows.Remove(row);
				}
			}		
			return ds;
		}

		[WebMethod]
		public DataSet DsForumStatus(string accname)
		{
			DataSet ds = new DataSet();
			DataSet dsData =new DataSet();
			DataTable dt = new DataTable();
			string sqlwhere = string.Empty;
			dt.Columns.Add(new DataColumn("status",typeof(string)));
			dt.Columns.Add(new DataColumn("url",typeof(string)));
			DataRow drNew = dt.NewRow();

			//精华区
			string[] FieldName1 = {string.Empty,string.Empty,"view_emp"};
			string[] FieldValue1 = {accname};
			dsData = this.GetTopics(FieldName1,FieldValue1,accname);
			sqlwhere = string.Format("t_place <> '02'");
			DataRow[] dr = dsData.Tables[0].Select(sqlwhere,"",DataViewRowState.CurrentRows);
			foreach(DataRow row in dr)
			{
				dsData.Tables[0].Rows.Remove(row);
			}
			if(dsData.Tables[0].Rows.Count > 0)
			{
				drNew["status"] = "精华区你有"+dsData.Tables[0].Rows.Count.ToString()+"篇文章未浏览!";
				drNew["url"]="forums_main_topic.aspx?type=primeArea";
			}
			else
			{
				drNew["status"] = "W";
			}
			dt.Rows.Add(drNew);
			//收信箱
			sqlwhere = string.Format("[{0}]",accname);
			string[] FieldName2 = {string.Empty,string.Empty,"receive_emp"};
			string[] FieldValue2 = {accname};
			dsData = this.GetTopics(FieldName2,FieldValue2,accname);
			DataRow drNew1 = dt.NewRow();
			sqlwhere = string.Format("view_emp like '%[[]{0}]%'",accname);
			DataRow[] dr5 = dsData.Tables[0].Select(sqlwhere,"",DataViewRowState.CurrentRows);
			foreach(DataRow row in dr5)
			{
				dsData.Tables[0].Rows.Remove(row);
			}
			if(dsData.Tables[0].Rows.Count > 0)
			{
				drNew1["status"] = "你的收信箱里有"+dsData.Tables[0].Rows.Count.ToString()+"篇文章未浏览!";
				drNew1["url"]="forums_main_topic.aspx?type=receiveBox";
			}
			else

⌨️ 快捷键说明

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