#region
using System;
using System.Data;
using System.Text;
using CSFrameworkV5.Common;
using CSFrameworkV5.Core;
using CSFrameworkV5.Core.CodeGenerator;
using CSFrameworkV5.Interfaces;
using CSFrameworkV5.Models;
#endregion
/*===================================================================
* 程序说明: Language的数据访问层源码
* 作者资料: 孙中吕
* 创建日期: 2020-10-22 06:18:19
* 最后修改: 2020-10-22 06:18:19
*
* 注: 本文件由代码生成器(Code Generator)自动生成。
* (此源码文件请放置在 YourProject.DataAccess 模块)
* 版权所有 Copyright 2006~2020, C/S框架网(www.cscode.net)
*===================================================================*/
namespace CSFrameworkV5.DataAccess
{
///
/// DAL数据层:dalLanguage
///
[DefaultORM_UpdateMode(typeof(sys_Language), true)]
public class dalLanguage : dalBaseDataDict, IBridge_Language
{
///
/// 构造器
///
/// 当前登录用户
public dalLanguage(Loginer loginer) : base(loginer)
{
_KeyName = sys_Language.__KeyName; //主键字段
_TableName = sys_Language.__TableName; //表名
_ModelType = typeof(sys_Language); //指定ORM模型
_UpdateSummaryKeyMode = UpdateKeyMode.None;
_ReplaceString = false;
//加一行代码:
_Database = DatabaseProvider.SystemDatabase;
}
public DataTable GetLanguageData()
{
var sql = "SELECT * FROM sys_Language;";
return DatabaseProvider.SystemDatabase.GetTable(sql);
}
public DataTable GetLanguageTypeData()
{
var sql = "SELECT * FROM sys_LanguageType;";
return DatabaseProvider.SystemDatabase.GetTable(sql);
}
public bool PostLanguage(string LAN, string objectID,
string defaultValue, string itemType)
{
var sp =
DatabaseProvider.SystemDatabase.CreateSqlProc(
"usp_InitLanguage");
sp.AddParam("LanType", DbType.String, 50, LAN);
sp.AddParam("ObjectID", DbType.String, 500, objectID);
sp.AddParam("LanData", DbType.String, 500, defaultValue);
sp.AddParam("ItemType", DbType.String, 20, itemType);
var i = DatabaseProvider.SystemDatabase.ExecuteCommand(sp.Command);
return i > 0;
}
public DataTable Query(string ObjectID, string CHS, string CHT,
string ENG, string DataType)
{
var cmd = _Database.CreateCommand("");
var sb = new StringBuilder();
sb.Append("SELECT * FROM sys_Language WHERE 1=1 ");
if (!string.IsNullOrEmpty(ObjectID))
{
sb.Append(
$" AND ObjectID LIKE {_Database.ParamSymboName}ObjectID ");
cmd.AddParam("ObjectID", $"%{ObjectID}%");
}
if (!string.IsNullOrEmpty(CHS))
{
sb.Append($" AND CHS LIKE {_Database.ParamSymboName}CHS ");
cmd.AddParam("CHS", $"%{CHS}%");
}
if (!string.IsNullOrEmpty(CHT))
{
sb.Append($" AND CHT LIKE {_Database.ParamSymboName}CHT ");
cmd.AddParam("CHT", $"%{CHT}%");
}
if (!string.IsNullOrEmpty(ENG))
{
sb.Append($" AND ENG LIKE {_Database.ParamSymboName}ENG ");
cmd.AddParam("ENG", $"%{ENG}%");
}
if (!string.IsNullOrEmpty(DataType))
{
sb.Append(
$" AND ItemType = {_Database.ParamSymboName}ItemType ");
cmd.AddParam("ItemType", DataType);
}
sb.Append(" ORDER BY " + sys_Language.__KeyName);
cmd.Command.CommandText =
CodeSafeHelper.GetSafeSQL(sb.ToStringEx());
return _Database.GetTable(cmd.Command, sys_Language.__TableName);
}
///
/// 根据表名获取该表的SQL命令生成器
///
/// 表名
///
protected override IGenerateSqlCommand CreateSqlGenerator(
DataTable table)
{
Type ORM = null;
if (table.TableName == sys_Language.__TableName)
ORM = typeof(sys_Language); //指定表与ORM模型的对应关系
if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!");
return new GenerateSqlCmdByTableFields(ORM, table,
GeneratorFactory);
}
} //public class
} //namespace