#region using System; using System.Data; using System.Text; using CSFrameworkV5.Common; using CSFrameworkV5.Core; using CSFrameworkV5.Core.CodeGenerator; using CSFrameworkV5.Interfaces.Bridge; using CSFrameworkV5.Models; #endregion namespace CSFrameworkV5.DataAccess { /// /// DAL数据层:dal_DocNoRule /// [DefaultORM_UpdateMode(typeof(sys_DocNoRule), true)] public class dal_DocNoRule : dalBaseDataDict, IBridge_DocNoRule { /// /// 构造器 /// /// 当前登录用户 public dal_DocNoRule(Loginer loginer) : base(loginer) { _KeyName = sys_DocNoRule.__KeyName; //主键字段 _TableName = sys_DocNoRule.__TableName; //表名 _ModelType = typeof(sys_DocNoRule); //指定ORM模型 _UpdateSummaryKeyMode = UpdateKeyMode.None; } public bool CheckNoExistsEx(string DBID, string docCode) { var sql = $"SELECT COUNT(*) FROM sys_DocNoRule WHERE DocCode={_Database.ParamSymboName}DocCode"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("DocCode", docCode); object o = DatabaseProvider.GetDatabase(DBID) .ExecuteCommand(cmd.Command); return ConvertEx.ToInt(o) > 0; } public bool Delete(string DBID, string keyValue) { var sql = $"DELETE FROM sys_DocNoRule WHERE RowID={_Database.ParamSymboName}RowID"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("RowID", keyValue); object o = DatabaseProvider.GetDatabase(DBID) .ExecuteCommand(cmd.Command); return ConvertEx.ToInt(o) > 0; } public DataTable GetData(string DBID) { var db = DatabaseProvider.GetDatabase(DBID); var sql = "SELECT * FROM sys_DocNoRule ORDER BY DocCode; "; var cmd = db.CreateCommand(sql); return db.GetTable(cmd.Command, sys_DocNoRule.__TableName); } public DataTable GetDataByKey(string DBID, string keyValue) { var sql = $"SELECT * FROM sys_DocNoRule WHERE RowID={_Database.ParamSymboName}RowID"; var cmd = _Database.CreateCommand(sql); cmd.AddParam("RowID", keyValue); return DatabaseProvider.GetDatabase(DBID) .GetTable(cmd.Command, sys_DocNoRule.__TableName); } public DataTable Search(string DBID, string DocCode) { var cmd = _Database.CreateCommand(""); var sb = new StringBuilder(); sb.Append("SELECT * FROM sys_DocNoRule WHERE 1=1 "); if (!string.IsNullOrEmpty(DocCode)) { sb.Append($" AND DocCode ={_Database.ParamSymboName}DocCode"); cmd.AddParam("DocCode", DocCode); } sb.Append(" ORDER BY StationCode,DocCode;"); cmd.Command.CommandText = CodeSafeHelper.GetSafeSQL(sb.ToStringEx()); return DatabaseProvider.GetDatabase(DBID) .GetTable(cmd.Command, sys_DocNoRule.__TableName); } public bool UpdateToDB(string DBID, DataTable data) { var dal = new dal_DocNoRule(_Loginer); dal.Database = DatabaseProvider.GetDatabase(DBID); var ds = new DataSet(); ds.Tables.Add(data.Copy()); return dal.Update(ds); } /// /// 根据表名获取该表对应的SQL命令生成器 /// /// 表名 /// protected override IGenerateSqlCommand CreateSqlGenerator( DataTable table) { Type ORM = null; if (table.TableName == sys_DocNoRule.__TableName) ORM = typeof(sys_DocNoRule); if (ORM == null) throw new Exception(table.TableName + "表没有ORM模型!"); //静态类模型SQL命令生成器 return new GenerateSqlCmdByTableFields(ORM, table, GeneratorFactory); //对象实体类模型SQL命令生成器 //return new GenerateSqlCmdByObjectClass(ORM, table, this.GeneratorFactory); } } //public class } //namespace