#region using System; using System.Data; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Core.CodeGenerator; using CSFrameworkV5.Interfaces; using CSFrameworkV5.Models; #endregion /*========================================== * 程序说明: UserCustomAction的数据访问层 * 作者姓名: * 创建日期: 2013-07-17 05:46:08 * 最后修改: 2013-07-17 05:46:08 * * 注: 本代码由ClassGenerator自动生成 * 版权所有 *==========================================*/ namespace CSFrameworkV5.DataAccess { /// /// dalUserCustomAction /// [DefaultORM_UpdateMode(typeof(sys_UserCustomAction), true)] public class dalUserCustomAction : dalBaseDataDict, IBridge_CustomModule { /// /// 构造器 /// /// 当前登录用户 public dalUserCustomAction(Loginer loginer) : base(loginer) { _KeyName = sys_UserCustomAction.__KeyName; //主键字段 _TableName = sys_UserCustomAction.__TableName; //表名 _ModelType = typeof(sys_UserCustomAction); _Database = DatabaseProvider.SystemDatabase; } public bool Delete(string Account, string FormFullName, string MenuName) { var p = _Database.ParamSymboName; var sql = $"DELETE FROM sys_UserCustomAction WHERE Account={p}Account AND FormFullName={p}FormFullName AND MenuName={p}MenuName"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("Account", DbType.String, Account); cmd.AddParam("FormFullName", DbType.String, FormFullName); cmd.AddParam("MenuName", DbType.String, MenuName); return _Database.ExecuteCommand(cmd.Command) > 0; } public bool Exist(string Account, string FormFullName, string MenuName) { var p = _Database.ParamSymboName; var sql = $"SELECT COUNT(*) FROM sys_UserCustomAction WHERE Account={p}Account AND FormFullName={p}FormFullName AND MenuName={p}MenuName"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("Account", DbType.String, Account); cmd.AddParam("FormFullName", DbType.String, FormFullName); cmd.AddParam("MenuName", DbType.String, MenuName); return ConvertEx.ToInt(_Database.ExecuteScalar(cmd.Command)) > 0; } /// /// 根据账户名称获得自定义常用功能列表 /// /// /// public DataTable GetCustomAction(string Account) { var sql = $"SELECT * FROM sys_UserCustomAction WHERE Account={_Database.ParamSymboName}Account ORDER BY RowIndex,OrderID"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("Account", DbType.String, Account); return _Database.GetTable(cmd.Command, sys_UserCustomAction.__TableName); } public DataTable GetMenuItems() { var sp = _Database.CreateSqlProc("usp_GetUserCustomActionMenu"); sp.AddParam("Account", DbType.String, _Loginer.Account); sp.AddParam("DataSet", DbType.String, _Loginer.DBID); return _Database.GetTable(sp.Command); } /// /// 排序編號 /// /// /// public DataTable GetRowIndexAOrderID(string Account, int maxRows, int maxCols) { var cmd = _Database.CreateSqlProc("usp_GetRowIndexAOrderID"); cmd.AddParam("Account", DbType.String, Account); cmd.AddParam("MaxRows", DbType.Int32, maxRows); cmd.AddParam("MaxCols", DbType.Int32, maxCols); return _Database.GetTable(cmd.Command); } public bool ResetCustomActions(string Account) { var p = _Database.ParamSymboName; var sql = $"DELETE FROM sys_UserCustomAction WHERE Account={p}Account"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("Account", DbType.String, Account); var i = _Database.ExecuteCommand(cmd.Command); return true; } /// /// 根据表名获取该表的SQL命令生成器 /// /// 当前提交的资料表 /// protected override IGenerateSqlCommand CreateSqlGenerator( DataTable table) { Type ORM = null; if (table.TableName == sys_UserCustomAction.__TableName) ORM = typeof(sys_UserCustomAction); if (ORM == null) throw new Exception(table.TableName + "表没有建立ORM模型!"); return new GenerateSqlCmdByTableFields(ORM, table, GeneratorFactory); } } }