📄 forum.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 + -