using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL; using System.Data.SqlClient; using System.Data; using CY.Infrastructure.DESEncrypt; using CY.Infrastructure.Common; using CY.Infrastructure.Query; using CY.Model; namespace CY.SQLDAL { public class Integrity_CreditLevelRuleDAL : IIntegrity_CreditLevelRuleDAL { private Database _dataBase = null; #region 常量 /// /// 查询目标 /// const string SELECTTARGET = " t.* "; /// /// 查询来源 /// const string FROMSOUCEBEFORE = " (select a.*,b.LevelName as LastName from [Integrity_CreditLevelRule] a left join [Integrity_CreditLevelRule] b on a.NextLevelRule=b.RuleId Where 0=0 "; const string FROMSOUCEEND = ") as t "; /// /// 分页默认排序字段 /// const string ORDERBY = " RuleType ASC,MaxCredit ASC "; #endregion public Integrity_CreditLevelRuleDAL() { _dataBase = new Database(); } public Integrity_CreditLevelRuleDAL(Database dDatabase) { _dataBase = dDatabase; } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.Integrity_CreditLevelRule trueModel = model as Model.Integrity_CreditLevelRule; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("RuleType",trueModel.RuleType), new SqlParameter("LevelName",trueModel.LevelName), new SqlParameter("LevelIcon",trueModel.LevelIcon), new SqlParameter("MaxCredit",trueModel.MaxCredit), new SqlParameter("NextLevelRule",trueModel.NextLevelRule), new SqlParameter("LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("Operator",trueModel.Operator), new SqlParameter("Remark",trueModel.Remark) }; try { _dataBase.Query("sp_Integrity_CreditLevelRule_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.Integrity_CreditLevelRule trueModel = model as Model.Integrity_CreditLevelRule; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@RuleId",trueModel.RuleId), new SqlParameter("RuleType",trueModel.RuleType), new SqlParameter("LevelName",trueModel.LevelName), new SqlParameter("LevelIcon",trueModel.LevelIcon), new SqlParameter("MaxCredit",trueModel.MaxCredit), new SqlParameter("NextLevelRule",trueModel.NextLevelRule), new SqlParameter("LastUpdateTime",trueModel.LastUpdateTime), new SqlParameter("Operator",trueModel.Operator), new SqlParameter("Remark",trueModel.Remark) }; try { _dataBase.Query("sp_Integrity_CreditLevelRule_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.Integrity_CreditLevelRule trueModel = model as Model.Integrity_CreditLevelRule; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@RuleId",trueModel.RuleId) }; try { _dataBase.Query("sp_Integrity_CreditLevelRule_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { if (null == pagination || null == query || null == query.Criteria || 1 > query.Criteria.Count) return null; //query.Criteria 首个元素必须是排序字段,其值为结果排序字段 int maxParamIndex = query.Criteria.Count - 1;//最大索引 string[] orderbys = new string[] { ORDERBY }; string resultOrderBy = "";//结果集排序方式 if ("@orderBy".Equals(query.Criteria[maxParamIndex].PropertyName)) { orderbys = string.Format("{0}", query.Criteria[maxParamIndex].Value).Split(','); resultOrderBy = 1 == orderbys.Length ? resultOrderBy : orderbys[1]; } string fromSouce = string.Format("{0}{1}{2}", FROMSOUCEBEFORE, query.Criteria[0].Value, FROMSOUCEEND);//拼装条件 return _dataBase.SelectModelPage(pagination, SELECTTARGET, fromSouce, "RuleType ASC,MaxCredit ASC", "RuleType ASC,MaxCredit ASC"); } /// /// 全部查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { return _dataBase.SelectModel(" * ", " Integrity_CreditLevelRule order by MaxCredit DESC") as IList;//执行查询 } /// /// 单个查询 /// /// 编号 /// public Model.Integrity_CreditLevelRule SelectModelByRuleId(int? RuleId) { if (RuleId == null || RuleId <= 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "Integrity_CreditLevelRule", string.Format(" RuleId={0}", RuleId)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } /// /// 单个查询获取上一级 /// /// 编号 /// public Model.Integrity_CreditLevelRule SelectModelByUpId(int? RuleId) { if (RuleId == null || RuleId <= 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "Integrity_CreditLevelRule", string.Format(" NextLevelRule={0}", RuleId)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } /// /// 根据信誉获取符合最大的规则 /// /// /// /// public Model.Integrity_CreditLevelRule SelectModelByCredit(int? Credit, bool RuleType) { try { if (Credit == null || Credit < 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "Integrity_CreditLevelRule", string.Format(" MaxCredit <={0} and RuleType ='{1}' order by MaxCredit DESC", Credit, RuleType)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } /// /// 根据类型获取列表 /// /// 类型 /// public IEnumerable SelectListByType(bool RuleType) { IList result = _dataBase.SelectModel("*", "Integrity_CreditLevelRule", string.Format(" RuleType='{0}' order by MaxCredit DESC", RuleType)) as IList;//执行查询 return result;//返回结果 } } }