using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL; using System.Data.SqlClient; using System.Data; using CY.Model; using System.Transactions; namespace CY.SQLDAL { public class OA_DriverRecordDAL : IOA_DriverRecordDAL { private Database _dataBase = null; #region 常量 /// /// 查询目标 /// const string SELECTTARGET = " t.* "; /// /// 查询来源 /// const string FROMSOUCEBEFORE = " ( select od.* , " + " ocar.[CarNumber] as CarName " + " from [OA_DriverRecord] od " + " left join [OA_CarManage] ocar on od.[CarID] = ocar.Keyid " + " where 0=0 "; const string FROMSOUCEEND = ") as t "; /// /// 分页默认排序字段 /// const string ORDERBY = " CreatTime desc "; #endregion public OA_DriverRecordDAL() { _dataBase = new Database(); } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_DriverRecord trueModel = model as Model.OA_DriverRecord; if (trueModel == null) { return false; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_DriverRecord trueModel = model as Model.OA_DriverRecord; if (trueModel == null) { return false; } return true; } /// /// 根据编号获得信息 /// /// 编号 /// public OA_DriverRecord GetModelByKeyid(Guid keyid) { try { string condition = " "; if (!keyid.Equals(Guid.Parse("00000000-0000-0000-0000-000000000000"))) { condition = " Keyid='" + keyid + "'"; } // return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "OA_DriverRecord", condition) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } /// /// 全部查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { return _dataBase.SelectModel(" * ", " OA_DriverRecord ") as IList;//执行查询 } /// /// 分页查询 /// /// /// /// 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 = query.Criteria[maxParamIndex].Value.ToString();//= 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, orderbys[0], resultOrderBy); } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_DriverRecord trueModel = model as Model.OA_DriverRecord; if (trueModel == null) { return false; } return true; } } }