📄 bbs.cs
字号:
using System;
using System.Data;
using System.Data.SqlClient;
using System.IO;
using System.Collections ;
using System.Configuration;
using System.Web;
namespace UDS.Components
{
/// <summary>
/// BBS 的摘要说明。
/// </summary>
public class BBSClass
{
#region 判断是否有BBS管理权限
/// <summary>
/// 判断是否有管理权限
/// </summary>
/// <param name="username">用户名</param>
/// <returns>bool</returns>
public bool AdminBBS(string username,int classid)
{
if(classid!=0)
{
int actid = 8;
Database db = new Database();
SqlParameter[] prams = {
db.MakeInParam("@Class_ID",SqlDbType.Int,4,classid),
db.MakeInParam("@Username",SqlDbType.VarChar,100,username),
db.MakeInParam("@Act_ID",SqlDbType.Int,4,actid),
db.MakeOutParam("@ReturnValue",SqlDbType.Int,4)
};
try
{
db.RunProc("sp_GetAccessPermission",prams);
// 仅做测试用
// return(true);
return((Int32.Parse(prams[3].Value.ToString())==1)?true:false);
}
catch(Exception ex)
{
Error.Log(ex.Message);
throw new Exception("BBS权限判断错误!",ex);
}
}
else
return(false);
}
#endregion
#region 判断是否有发布系统公告权限
/// <summary>
/// 判断是否有发布系统公告权限
/// </summary>
/// <param name="username">用户名</param>
/// <returns>bool</returns>
public bool AdminSysBulletin(string username,int classid)
{
if(classid!=0)
{
int actid = 9;
Database db = new Database();
SqlParameter[] prams = {
db.MakeInParam("@Class_ID",SqlDbType.Int,4,classid),
db.MakeInParam("@Username",SqlDbType.VarChar,100,username),
db.MakeInParam("@Act_ID",SqlDbType.Int,4,actid),
db.MakeOutParam("@ReturnValue",SqlDbType.Int,4)
};
try
{
db.RunProc("sp_GetAccessPermission",prams);
// 仅做测试用
// return(true);
return((Int32.Parse(prams[3].Value.ToString())==1)?true:false);
}
catch(Exception ex)
{
Error.Log(ex.Message);
throw new Exception("BBS权限判断错误!",ex);
}
}
else
return(false);
}
#endregion
#region 判断是否是板块斑竹
/// <summary>
/// 判断是否是板块斑竹
/// </summary>
/// <param name="boardid">板块ID</param>
/// <param name="username">用户名</param>
/// <returns></returns>
public bool IsBoardMaster(int boardid,string username)
{
Database db = new Database();
SqlParameter[] prams = {
db.MakeInParam("@board_id",SqlDbType.Int,4,boardid),
db.MakeInParam("@staff_name",SqlDbType.VarChar,100,username)
};
try
{
if(db.RunProc("sp_BBSISBoardMaster",prams)==1)
return(true);
else
return(false);
}
catch(Exception ex)
{
Error.Log(ex.Message);
throw new Exception("BBS斑竹权限判断错误!",ex);
}
}
#endregion
#region 新增分栏信息
//给uds_bbs_catalog表,新增记录
public bool AddBBSCatalog (BBSCatalog BBSCatalog) //string CatalogName,string CatalogDescription
{
//参数 CatalogName 表示BBS中的title , 参数 CatalogDescription 表示BBS中的content
//给存储过程传递参数
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@title", SqlDbType.VarChar, 300, BBSCatalog.CatalogName),
data.MakeInParam("@content", SqlDbType.NText, 16, BBSCatalog.CatalogDescription),
};
data.RunProc ("sp_BBS_AddCatalog",prams);
return true;
}
#endregion
#region 查询BBS贴子
public SqlDataReader Find(string key,BBSSearchOption option,DataTable boards)
{
string boardids = "";
string sql = "select * from UDS_Bbs_ForumItem";
SqlDataReader dr = null;
if(option.searchtype==BBSSearchType.author)
{
sql += " where sender like '%"+key+"%'";
}
else if(option.searchtype==BBSSearchType.title)
{
sql += " where title like '%"+key+"%'";
}
if(option.BoardID!=0)
{
sql += " and board_id="+option.BoardID;
}
else
{
foreach(DataRow row in boards.Rows)
{
boardids += row["board_id"].ToString() + ",";
}
if(boardids!="")
boardids = boardids.Substring(0,boardids.Length-1);
sql += " and board_id in ("+boardids+")";
}
if(option.TimeBound!=TimeSpan.MaxValue)
{
//计算时间段
sql += " and datediff(d,send_time,getdate())< "+option.TimeBound.Days.ToString();
}
UDS.Components.Database db = new UDS.Components.Database();
SqlParameter[] prams = {
db.MakeInParam("@SQL", SqlDbType.NText, 5000, sql),
};
db.RunProc("sp_RunSQL",prams,out dr);
return dr;
}
#endregion
#region 修改分栏信息时根据CatalogID显示数据
public SqlDataReader GetModifyBBSCatalog (int m_CatalogID)
{
//参数CatalogID表示存储过程中的@catalog_id int 分栏ID
SqlDataReader dataReader = null;
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@catalog_id", SqlDbType.Int, 4, m_CatalogID),
};
try
{
data.RunProc ("sp_BBS_GetCatalogInfo",prams,out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
// throw new Exception("BBS类别增加错误!",ex);
return null;
}
}
#endregion
#region 修改(编缉分栏信息)
//更新分类栏信息
public bool EditBBSCatalog (BBSCatalog BBSCatalog)
{
// @catalog_id int, : 分栏ID
// @catalog_name varchar(300), : 分栏名称
// @catalog_description varchar(300) : 分栏介绍
// 给存储过程传递参数
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@catalog_id", SqlDbType.Int, 4, BBSCatalog.CatalogID),
data.MakeInParam("@catalog_name", SqlDbType.VarChar, 300, BBSCatalog.CatalogName),
data.MakeInParam("@catalog_description", SqlDbType.VarChar ,300, BBSCatalog.CatalogDescription),
};
try
{
data.RunProc ("sp_BBS_UpdateCatalogInfo",prams);
return true;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
throw new Exception("BBS类别编缉错误!",ex);
}
}
#endregion
#region 删除分栏(分栏信息)
public int DelBBSCatalog(int catalog_id)
{
Database db = new Database();
SqlParameter[] prams = {
db.MakeInParam("@catalog_id ",SqlDbType.Int,4,catalog_id)
};
return(db.RunProc("sp_BBS_DeleteCatalog",prams));
}
#endregion
#region 在分类中新增一个板块(添加板块)
//在BBS大类中 添加板块
public bool BBSAddBoard(BBSBoard BBSBoard)
{
//需向存储过程传递的参数如下
//@catalog_id (int) 分类ID号, @title (varchar(300)) 抬头的名称, @content ntext 板块内容, @boardtype bit 板块类型
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam ("@catalog_id", SqlDbType.Int, 4, BBSBoard.CatalogID ),
data.MakeInParam ("@title", SqlDbType.VarChar, 300, BBSBoard.BoardName ),
data.MakeInParam ("@content", SqlDbType.NText, 16, BBSBoard.BoardDescription ),
data.MakeInParam ("@boardtype", SqlDbType.Bit, 1, BBSBoard.BoardType ),
};
data.RunProc ("sp_BBS_AddBoard",prams);
return true;
}
#endregion
#region 修改板块时根据BoardID显示数据
public SqlDataReader GetModifyBBSBoard (int m_BoardID)
{
//参数m_BoardID表示存储过程中的@board_id int : 板块ID
SqlDataReader dataReader = null;
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@board_id", SqlDbType.Int, 4, m_BoardID),
};
try
{
data.RunProc ("sp_BBS_GetBoardInfo",prams,out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
// throw new Exception("BBS类别增加错误!",ex);
return null;
}
}
#endregion
#region 修改(编缉板块)
//更新板块信息
public bool EditBBSBoard (BBSBoard BBSBoard)
{
//@board_id int, : 被更新的板块ID
//@board_name varchar(300) : 板块名称
//@board_description varchar(300), : 板块介绍
//@board_type bit : 板块类型(公共型,私有型)
// 给存储过程传递参数
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@board_id", SqlDbType.Int, 4, BBSBoard.BoardID),
data.MakeInParam("@board_name", SqlDbType.VarChar, 300, BBSBoard.BoardName),
data.MakeInParam("@board_description", SqlDbType.VarChar ,300, BBSBoard.BoardDescription),
data.MakeInParam("@board_type", SqlDbType.Bit, 1 ,BBSBoard.BoardType),
};
//try
{
data.RunProc ("sp_BBS_UpdateBoardInfo",prams);
return true;
}
//catch (Exception ex)
{
// Error.Log(ex.ToString());
// throw new Exception("BBS板块编缉错误!",ex);
}
}
#endregion
#region 删除(删除板块)
public int DelBBSBoard(int board_id)
{
//@board_id : 板块ID
Database db = new Database();
SqlParameter[] prams = {
db.MakeInParam("@board_id ",SqlDbType.Int,4,board_id)
};
return(db.RunProc("sp_BBS_DeleteBoard",prams));
}
#endregion
#region 斑竹操作
//得到版块版主
public SqlDataReader GetBoardMaster ()
{
SqlDataReader dataReader = null;
Database data = new Database();
//SqlParameter[] prams = {
// data.MakeInParam("@board_id", SqlDbType.Int, 4, master.BoardID),
//};
try
{
data.RunProc ("sp_BBS_GetAllBoardMaster",out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
return null;
}
}
//删除版主
public int DeleteBoardMaster (BBSBoardmaster master)
{
//参数:
// @BoardID : 版块ID
// @StaffID : 员工ID
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@BoardID", SqlDbType.Int, 4, master.BoardID),
data.MakeInParam("@StaffID", SqlDbType.Int, 4, master.StaffID),
};
return(data.RunProc ("sp_BBS_DeleteBoardMaster",prams));
}
//设置版主
public bool SetupBoardMaster (BBSBoardmaster master)
{
//参数:
// @BoardID int : 板块ID
// @StaffID int : 员工ID
Database data = new Database();
SqlParameter[] prams = {
data.MakeInParam("@BoardID", SqlDbType.Int, 4, master.BoardID),
data.MakeInParam("@StaffID", SqlDbType.Int, 4, master.StaffID),
};
try
{
data.RunProc ("sp_BBS_SetupBoardMaster",prams);
return true;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
return false;
}
}
//取所有在职的用户名称
public SqlDataReader GetAllStaff()
{
//参数 无 默认取在职的所有人员名称
SqlDataReader dataReader = null;
Database data = new Database();
try
{
data.RunProc ("sp_getallstaff",out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
return null;
}
}
#endregion
#region 私有板块成员操作
//得到版块成员
public SqlDataReader GetBoardMember ()
{
SqlDataReader dataReader = null;
Database data = new Database();
try
{
data.RunProc ("sp_BBS_GetAllBoardMember",out dataReader);
return dataReader;
}
catch (Exception ex)
{
Error.Log(ex.ToString());
return null;
}
}
//删除成员
public int DeleteBoardMember (BBSBoardmember member)
{
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -