#region
using System;
using System.Data;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.CodeGenerator;
using CSFrameworkV5.Interfaces;
using CSFrameworkV5.Models;
#endregion
namespace CSFrameworkV5.DataAccess
{
[DefaultORM_UpdateMode(typeof(tb_MyUserRoles), true)]
public class dalUserRole : dalBaseDataDict, IBridge_UserRole
{
public dalUserRole(Loginer loginer)
: base(loginer)
{
_KeyName = tb_MyUserRoles.__KeyName; //主键字段
_TableName = tb_MyUserRoles.__TableName; //表名
_ModelType = typeof(tb_MyUserRoles);
_Database = DatabaseProvider.SystemDatabase;
}
public bool DeleteUserRole(string account, string roleID)
{
var p = _Database.ParamSymboName;
var sql =
$"DELETE FROM tb_MyUserRoles WHERE Account={p}Account AND RoleID={p}RoleID AND DataSetID={p}DataSetID";
var cmd = _Database.CreateCommand(sql);
cmd.AddParam("Account", account);
cmd.AddParam("RoleID", roleID);
cmd.AddParam("DataSetID", _Loginer.DBID);
var i = _Database.ExecuteCommand(cmd.Command);
return true;
}
public DataTable SearchUserRole(string account, string roleID,
DateTime expireDateFrom, DateTime expireDateTo)
{
var sp = _Database.CreateSqlProc("usp_SearchUserRole");
sp.AddParam("Account", DbType.String, account);
sp.AddParam("RoleID", DbType.String, roleID);
sp.AddParam("ExpireDateFrom", DbType.String,
expireDateFrom.ToString(Globals.DEF_YYYYMMDD));
sp.AddParam("ExpireDateTo", DbType.String,
expireDateTo.ToString(Globals.DEF_YYYYMMDD));
sp.AddParam("DataSetID", DbType.String, _Loginer.DBID);
return _Database.GetTable(sp.Command, tb_MyUserRoles.__TableName);
}
///
/// 跟据表名创建SQL命令生成器
///
/// 表名
///
protected override IGenerateSqlCommand CreateSqlGenerator(
DataTable table)
{
Type ORM = null;
if (table.TableName == tb_MyUserRoles.__TableName)
ORM = typeof(tb_MyUserRoles);
if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
return new GenerateSqlCmdByTableFields(ORM, table,
GeneratorFactory);
}
}
}