#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);
}
}
}