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

📄 bookshelffacade.cs

📁 会员管理系统
💻 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 + -