#region
using System;
using System.Data;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.CodeGenerator;
using CSFrameworkV5.Models;
#endregion
namespace CSFrameworkV5.DataAccess
{
///
/// 功能点资料的DAL层
///
[DefaultORM_UpdateMode(typeof(tb_MyActions), true)]
public class dalActions : dalBaseDataDict
{
public dalActions(Loginer loginer)
: base(loginer)
{
_KeyName = tb_MyActions.__KeyName;
_TableName = tb_MyActions.__TableName;
_ModelType = typeof(tb_MyActions);
_Database = DatabaseProvider.SystemDatabase;
}
///
/// 根据表名获取该表的SQL命令生成器
///
/// 表名
///
protected override IGenerateSqlCommand CreateSqlGenerator(
DataTable table)
{
Type ORM = null;
if (table.TableName == tb_MyActions.__TableName)
ORM = typeof(tb_MyActions);
if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
//支持两种SQL命令生成器
return new GenerateSqlCmdByTableFields(ORM, table,
GeneratorFactory);
}
public DataTable GetActionData()
{
var sql = "SELECT * FROM tb_MyActions ORDER BY ActionValue";
return _Database.GetTable(sql, tb_MyActions.__TableName);
}
///
/// 获取主表数据
///
///
public override DataTable GetSummaryData()
{
AssertTableName();
return GetActionData();
}
public bool IsExistsAction(int actionValue)
{
var sql =
$"SELECT COUNT(*) FROM tb_MyActions WHERE AuthorityValue>0 AND AuthorityValue={_Database.ParamSymboName}AuthorityValue";
var cmd = _Database.CreateCommand(sql);
cmd.AddParam("AuthorityValue", actionValue);
var o = _Database.ExecuteScalar(cmd.Command);
return ConvertEx.ToInt(o) > 0;
}
}
}