#region
using System;
using System.Data;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.CodeGenerator;
using CSFrameworkV5.Interfaces;
using CSFrameworkV5.Models;
#endregion
/*===================================================================
* 程序说明: DataFieldConfig的数据访问层源码
* 作者资料: 楚楚.C/S框架网
* 创建日期: 2014/06/07 10:20:48
* 最后修改: 2014/06/07 10:20:48
*
* 注: 本代码由代码生成器(Code Generator)自动生成
* (此源码文件请放置在DataAccess模块)
* 版权所有 copyright 2006~2014, C/S框架网 http://www.csframework.com
*===================================================================*/
namespace CSFrameworkV5.DataAccess
{
///
/// DAL数据层:dalDataFieldConfig
///
[DefaultORM_UpdateMode(typeof(sys_DataFieldConfig), true)]
public class dalDataFieldConfig : dalBaseDataDict, IBridge_DataFieldConfig
{
///
/// 构造器
///
/// 当前登录用户
public dalDataFieldConfig(Loginer loginer)
: base(loginer)
{
_KeyName = sys_DataFieldConfig.__KeyName; //主键字段
_TableName = sys_DataFieldConfig.__TableName; //表名
_ModelType = typeof(sys_DataFieldConfig); //指定ORM模型
}
public DataTable GetConfig(string configName)
{
var sql =
$"SELECT * FROM sys_DataFieldConfig WHERE ConfigName={_Database.ParamSymboName}ConfigName;";
var cmd = _Database.CreateCommand(sql);
cmd.AddParam("ConfigName", configName);
return _Database.GetTable(cmd.Command,
sys_DataFieldConfig.__TableName);
}
public DataTable GetConfig(string account, string configName)
{
var sql =
$"SELECT * FROM sys_DataFieldConfig WHERE ConfigName={_Database.ParamSymboName}ConfigName AND UserName={_Database.ParamSymboName}UserName;";
var cmd = _Database.CreateCommand(sql);
cmd.AddParam("ConfigName", configName);
cmd.AddParam("UserName", account);
return _Database.GetTable(cmd.Command,
sys_DataFieldConfig.__TableName);
}
///
/// 根据表名获取该表的SQL命令生成器
///
/// 表名
///
protected override IGenerateSqlCommand CreateSqlGenerator(
DataTable table)
{
Type ORM = null;
if (table.TableName == sys_DataFieldConfig.__TableName)
ORM = typeof(sys_DataFieldConfig); //指定表与ORM模型的对应关系
if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
return new GenerateSqlCmdByTableFields(ORM, table,
GeneratorFactory);
}
public override bool Update(DataSet data)
{
_UserManualControlTrans = true;
try
{
BeginTransaction();
//保存资料前清空旧数据
var R = data.Tables[0].Rows[0];
var sql =
$"DELETE FROM sys_DataFieldConfig WHERE ConfigName={_Database.ParamSymboName}ConfigName AND UserName={_Database.ParamSymboName}UserName;";
var cmd = _Database.CreateCommand(sql);
cmd.AddParam("ConfigName", R[sys_DataFieldConfig.ConfigName]);
cmd.AddParam("UserName", R[sys_DataFieldConfig.UserName]);
_Database.ExecuteTrans(_CurrentTrans, cmd.Command);
var ret = base.Update(data);
CommitTransaction();
return ret;
}
catch
{
RollbackTransaction();
return false;
}
}
} //public class
} //namespace