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

📄 forum.cs

📁 投票系统模块设计
💻 CS
字号:
using System;
using System.Data;
using Data;
using Common;

namespace Business
{
	/// <summary>
	/// Forum 的摘要说明。
	/// </summary>
	public class Forum
	{
		public Forum()
		{

		}

		/// <summary>
		/// 获取所有文章列表
		/// </summary>
		/// <param name="strUsername">当前登录用户名</param>
		/// <returns>文章列表数据集</returns>
		public static DataSet GetAllArticles(string strUsername)
		{
			if (strUsername == "anonymous")
			{
				return Database.ListArticles();
			}
			//获取用户的角色
			Role role = Database.GetRoleOfUser(strUsername);
			DataSet ds = null;
			
			if (Database.CheckPermission(role, Permission.Read)) //检查权限
				ds = Database.ListArticles();

			//返回数据集
			return ds;
		}

		/// <summary>
		/// 创建用户
		/// </summary>
		/// <param name="user">将要创建的用户信息</param>
		/// <returns>是否成功创建用户</returns>
		public static bool CreateUser(User user)
		{
			return (Database.CreateUser(user) == 0);
		}

		/// <summary>
		/// 用户登录
		/// </summary>
		/// <param name="user">用户信息</param>
		/// <returns>是否登录成功</returns>
		public static bool LoginUser(User user)
		{
			return (Database.VerifyUser(user) == 0);
		}

		/// <summary>
		/// 获取文章及其回复信息
		/// </summary>
		/// <param name="id">文章id</param>
		/// <returns>文章信息数据集</returns>
		public static DataSet GetArticle(int id)
		{
			return Database.GetArticle(Database.GetTopID(id));
		}

		/// <summary>
		/// 获取单篇文章信息
		/// </summary>
		/// <param name="id">文章id</param>
		/// <returns>文章信息数据集</returns>
		public static DataSet GetOneArticle(int id)
		{
			return Database.GetOneArticle(id);
		}

		/// <summary>
		/// 发表文章
		/// </summary>
		/// <param name="art">文章内容信息</param>
		/// <param name="strUsername">作者</param>
		/// <returns>新闻章id</returns>
		public static int PostArticle(Article art, string strUsername)
		{
			Role role = Database.GetRoleOfUser(strUsername);
			if (!Database.CheckPermission(role, Permission.Post))
				return -1;

			art.father_id = Database.GetTopID(art.father_id);

			return Database.PostArticle(art, strUsername);
		}

		/// <summary>
		/// 修改文章
		/// </summary>
		/// <param name="art">文章信息</param>
		/// <param name="strUsername">修改作者</param>
		/// <returns>是否成功</returns>
		public static bool EditArticle(Article art, string strUsername)
		{
			Role role = Database.GetRoleOfUser(strUsername);
			if (!(Database.CheckPermission(role, Permission.Modify)) &&
				(Database.GetUsernameByID(art.author_id) != strUsername) )
				return false;

			art.content += "\r\n(" + strUsername + "于" +
				DateTime.Now.ToLongDateString() + "修改本文。)";
			if (!Database.ModifyArticle(art))
				return false;

			return true;
		}

		/// <summary>
		/// 当前用户是否允许进行用户管理
		/// </summary>
		/// <param name="strUsername">用户名</param>
		/// <returns>是或否</returns>
		public static bool CanUserManage(string strUsername)
		{
			Role role = Database.GetRoleOfUser(strUsername);
			return Database.CheckPermission(role, Permission.UserManage);
		}

		/// <summary>
		/// 获取所有用户信息
		/// </summary>
		/// <param name="strUsername">执行操作的用户名</param>
		/// <returns>数据集</returns>
		public static DataSet GetAllUsers(string strUsername)
		{
			DataSet ds = null;
			if (CanUserManage(strUsername))
				ds = Database.GetAllUsers();

			return ds;
		}

		/// <summary>
		/// 获取所有角色信息
		/// </summary>
		/// <param name="strUsername">执行操作的用户名</param>
		/// <returns>数据集</returns>
		public static DataSet GetAllRoles(string strUsername)
		{
			DataSet ds = null;
			if (CanUserManage(strUsername))
				ds = Database.GetAllRoles();

			return ds;
		}

		/// <summary>
		/// 修改用户角色
		/// </summary>
		/// <param name="user">用户信息</param>
		/// <param name="strUsername">执行操作的用户名</param>
		/// <returns>是否成功</returns>
		public static bool ModifyUser(User user, string strUsername)
		{
			if (user.username == "admin")
				return false;

			Role role = Database.GetRoleOfUser(strUsername);
			if (!Database.CheckPermission(role, Permission.UserManage))
				return false;

			if (!Database.ModifyUser(user))
				return false;

			return true;
		}

		/// <summary>
		/// 判断用户是否有权删除文章
		/// </summary>
		/// <param name="strUsername">用户名</param>
		/// <returns>是否有权删除</returns>
		public static bool CanDeleteArticle(string strUsername)
		{
			Role role = Database.GetRoleOfUser(strUsername);
			if (!Database.CheckPermission(role, Permission.Delete))
				return false;

			return true;
		}

		/// <summary>
		/// 删除文章
		/// </summary>
		/// <param name="id">文章id</param>
		/// <param name="strUsername">执行删除的用户名</param>
		/// <returns>是否成功</returns>
		public static bool DeleteArticle(int id, string strUsername)
		{
			if (!CanDeleteArticle(strUsername))
				return false;

			if (!Database.DeleteArticle(id))
				return false;

			return true;
		}

	}
}

⌨️ 快捷键说明

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