📄 com_forumtopics.asmx.cs
字号:
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 + -