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

📄 bbs.cs

📁 除了具有传统OA的邮件、工作流、文档等功能外
💻 CS
📖 第 1 页 / 共 3 页
字号:
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 + -