📄 bookshelffacade.cs
字号:
using System;
using System.Data;
using System.Data.OleDb;
using com.sungoal.MemberManage.DataAccess;
using com.sungoal.MemberManage.Common;
namespace com.sungoal.MemberManage.BusinessFacade
{
/// <summary>
/// Summary description for BookShelfFacade.
/// </summary>
public class BookShelfFacade
{
public BookShelfFacade()
{
//
// TODO: Add constructor logic here
//
}
/// <summary>
/// 用户获取指定书架ID底下的书架列表
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <param name="bookShelfID">书架分类编号</param>
/// <param name="dataTable">接收数据的数据表</param>
/// <returns>1:成功,0:权限不足,其他:书架分类编号不存在</returns>
public int GetBookShelfList(string userID, string bookShelfID, ref DataTable dataTable)
{
// 1。检查该书架分类是否属于该用户
// 2。根据书架分类编号,在书架信息表中查找上级分类编号是此书架分类编号的记录
BookShelfDAL bookShelfDAL = new BookShelfDAL();
int check = bookShelfDAL.CheckBookShelfOwner(userID, bookShelfID);
if (check == 1)
{
dataTable = bookShelfDAL.GetBookShelfByPBookShelfID(bookShelfID);
}
return check;
}
/// <summary>
/// 用户获取指定用户ID的所有书架列表
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <returns>包含书架列表的数据表</returns>
public DataTable GetAllBookShelf(string userID)
{
// 1。根据用户ID,在书架信息表中查找用户的所有书架
BookShelfDAL bookShelfDAL = new BookShelfDAL();
DataTable dataTable = bookShelfDAL.GetBookShelfByUserID(userID);
return dataTable;
}
/// <summary>
/// 用户获取指定用户ID的入口书架分类编号
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <returns>指定用户的入口书架分类编号</returns>
public string GetBookShelfEntrance(string userID)
{
// 1。根据用户ID,在普通用户附加信息表中查找用户书架的入口书架分类编号
// 2。根据步骤 1 得到的书架分类编号,在书架分类表中查找书架分类记录
UserDAL userDAL = new UserDAL();
CommonUserData.UserAddInfoDataTable table = new CommonUserData().UserAddInfo;
table = (CommonUserData.UserAddInfoDataTable)userDAL.GetUserAddInfoByUserID(userID);
if (table.Rows.Count != 0)
{
CommonUserData.UserAddInfoRow row = (CommonUserData.UserAddInfoRow)table.Rows[0];
if (row["BookShelfID"] == DBNull.Value)
{
return null;
}
else
{
return row.BookShelfID;
}
}
else
{
return null;
}
}
/// <summary>
/// 用户创建新书架分类
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <param name="pBookShelfID">上级分类编号,根编号为“用户ID + 00000”</param>
/// <param name="bookShelfName">分类名称</param>
/// <param name="isLeaf">是否叶子节点</param>
/// <param name="remark">备注</param>
/// <returns>
/// 1:操作成功
/// -1:数据库抛出错误
/// -2:用户ID和书架分类编号不匹配
/// </returns>
public int Add(string userID, string pBookShelfID, string bookShelfName, string remark)
{
// 1。检查上级书架分类是否属于该用户
// 2。向书架分类信息表中插入记录
int result = 0;
string[] newID;
BookShelfDAL bookShelfDAL = new BookShelfDAL();
BookShelfData.BookShelfDataTable table = new BookShelfData().BookShelf;
int check = bookShelfDAL.CheckBookShelfOwner(userID, pBookShelfID);
switch (check)
{
case 1: // 1:存在上级书架分类,匹配
newID = bookShelfDAL.CreateNewID(userID, 1);
BookShelfData.BookShelfRow row = table.NewBookShelfRow();
row.BookShelfID = newID[0];
row.BookShelfName = bookShelfName;
row.IsLeaf = "0";
row.PBookShelfID = pBookShelfID;
row.Reamrk = remark;
row.UserID = userID;
result = bookShelfDAL.InsertBookShelf(row);
break;
case 0: // 0:存在上级书架分类,不匹配
result = -2;
break;
case -1: // -1:不存在上级书架分类,不存在根书架
case -3: // -3:普通用户附加信息表不存在
newID = bookShelfDAL.CreateNewID(userID, 2);
BookShelfData.BookShelfRow row1 = table.NewBookShelfRow();
row1.BookShelfID = newID[0];
row1.BookShelfName = "我的书架";
row1.IsLeaf = "0";
row1.PBookShelfID = userID;
row1.Reamrk = "";
row1.UserID = userID;
table.Rows.Add(row1);
BookShelfData.BookShelfRow row2 = table.NewBookShelfRow();
row2.BookShelfID = newID[1];
row2.BookShelfName = bookShelfName;
row2.IsLeaf = "0";
row2.PBookShelfID = row1.BookShelfID;
row2.Reamrk = remark;
row2.UserID = userID;
table.Rows.Add(row2);
result = bookShelfDAL.CreateBookShelf(userID, table);
break;
case -2: // -2:不存在上级书架分类,存在根书架
result = -2;
break;
case -4: // -4:用户不存在
result = -4;
break;
default:
break;
}
return result;
}
/// <summary>
/// 用户删除书架分类
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <param name="bookShelfID">书架分类编号</param>
/// <returns>成功返回 1</returns>
public int Remove(string userID, string bookShelfID)
{
// 1。检查该书架分类是否属于该用户
// 2。根据书架分类编号从书架分类信息表中删除记录
BookShelfDAL bookShelfDAL = new BookShelfDAL();
int check = bookShelfDAL.CheckBookShelfOwner(userID, bookShelfID);
if (check == 1)
{
BookShelfData.BookShelfDataTable dtBookShelf = new BookShelfData().BookShelf;
BookShelfData.BookShelfDetailDataTable dtBookShelfDetail = new BookShelfData().BookShelfDetail;
dtBookShelf = (BookShelfData.BookShelfDataTable)bookShelfDAL.GetBookShelfByBookShelfID(bookShelfID);
dtBookShelfDetail = (BookShelfData.BookShelfDetailDataTable)bookShelfDAL.GetBookShelfDetailByBookShelfID(bookShelfID);
check = bookShelfDAL.DeleteBookShelf(dtBookShelf, dtBookShelfDetail);
}
return check;
}
/// <summary>
/// 用户修改书架分类
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <param name="bookShelfID">书架分类编号</param>
/// <param name="bookShelfName">分类名称</param>
/// <param name="isLeaf">是否叶子节点</param>
/// <param name="remark">备注</param>
/// <returns>成功返回 1</returns>
public int Update(string userID, string bookShelfID, string bookShelfName, string remark)
{
// 1。检查该书架分类是否属于该用户
// 2。根据书架分类编号从书架分类信息表中更新记录
BookShelfDAL bookShelfDAL = new BookShelfDAL();
int check = bookShelfDAL.CheckBookShelfOwner(userID, bookShelfID);
if (check == 1)
{
BookShelfData.BookShelfDataTable table = (BookShelfData.BookShelfDataTable)bookShelfDAL.GetBookShelfByBookShelfID(bookShelfID);
BookShelfData.BookShelfRow row = (BookShelfData.BookShelfRow)table.Rows[0];
row.BookShelfName = bookShelfName;
row.Reamrk = remark;
check = bookShelfDAL.UpdateBookShelf(row);
}
return check;
}
/// <summary>
/// 用户移动书架分类
/// </summary>
/// <param name="userID">用户ID从SESSION中获取</param>
/// <param name="bookShelfID">书架分类编号</param>
/// <param name="pBookShelfID">上级分类编号</param>
/// <returns>成功返回 1</returns>
public int Move(string userID, string bookShelfID, string pBookShelfID)
{
// 1。检查该书架分类是否属于该用户
// 2。根据书架分类编号修改书架分类信息表,设置上级分类编号
BookShelfDAL bookShelfDAL = new BookShelfDAL();
int check = bookShelfDAL.CheckBookShelfOwner(userID, bookShelfID);
if (check == 1)
{
BookShelfData.BookShelfDataTable table = (BookShelfData.BookShelfDataTable)bookShelfDAL.GetBookShelfByBookShelfID(bookShelfID);
BookShelfData.BookShelfRow row = (BookShelfData.BookShelfRow)table.Rows[0];
row.PBookShelfID = pBookShelfID;
check = bookShelfDAL.UpdateBookShelf(row);
}
return check;
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -