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_PropertyManageDAL : IOA_PropertyManageDAL { private Database _dataBase = null; public OA_PropertyManageDAL() { _dataBase = new Database(); } public OA_PropertyManageDAL(Database dataBase) { _dataBase = dataBase; } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_PropertyManage trueModel = model as Model.OA_PropertyManage; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@MemberId", trueModel.MemberId) , new SqlParameter("@CateId", trueModel.CateId) , new SqlParameter("@Name", trueModel.Name) , new SqlParameter("@Price", trueModel.Price) , new SqlParameter("@Status", trueModel.Status) , new SqlParameter("@AllNum", trueModel.AllNum) , new SqlParameter("@ReceiveNum", trueModel.ReceiveNum) , new SqlParameter("@LastUpdateTime", trueModel.LastUpdateTime) , new SqlParameter("@Operator", trueModel.Operator) , new SqlParameter("@Remark", trueModel.Remark) }; try { _dataBase.Query("sp_OA_PropertyManage_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_PropertyManage trueModel = model as Model.OA_PropertyManage; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid", trueModel.Keyid) , new SqlParameter("@MemberId", trueModel.MemberId) , new SqlParameter("@CateId", trueModel.CateId) , new SqlParameter("@Name", trueModel.Name) , new SqlParameter("@Price", trueModel.Price) , new SqlParameter("@Status", trueModel.Status) , new SqlParameter("@AllNum", trueModel.AllNum) , new SqlParameter("@ReceiveNum", trueModel.ReceiveNum) , new SqlParameter("@LastUpdateTime", trueModel.LastUpdateTime) , new SqlParameter("@Operator", trueModel.Operator) , new SqlParameter("@Remark", trueModel.Remark) }; try { _dataBase.Query("sp_OA_PropertyManage_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.OA_PropertyManage trueModel = model as Model.OA_PropertyManage; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_OA_PropertyManage_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 分页查询 /// /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination) { throw new NotImplementedException(); } /// /// 单个查询 /// /// /// public IEnumerable SelectAllModel(Infrastructure.Query.Query query) { throw new NotImplementedException(); } /// /// 根据编号获得信息 /// /// 编号 /// public OA_PropertyManage GetModelByKeyid(int? Keyid) { try { if (Keyid == null || Keyid < 0) return null;//错误数据返会空 IList result = _dataBase.SelectModel(" * ", " OA_PropertyManage ", string.Format(" Keyid='{0}'", Keyid)) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } /// /// 分页查询 /// /// /// public IEnumerable SelectModelPage(Infrastructure.Query.Pagination pagination, Guid _MemberId, int? _CateId, string _Name, decimal? _Price, int? _Status, int? _AllNum, int? _ReceiveNum, DateTime? _BeginLastUpdateTime, DateTime? _EndLastUpdateTime, string _Operator, string _Remark) { try { string condition = " 1=1 "; if (_MemberId != Guid.Empty) condition += " and a.MemberId = '" + _MemberId + "'"; if (_CateId.HasValue) condition += " and a.CateId = '" + _CateId + "'"; if (!string.IsNullOrEmpty(_Name)) condition += " and a.Name = '" + _Name + "'"; if (_Price.HasValue) condition += " and a.Price = '" + _Price + "'"; if (_Status.HasValue) condition += " and a.Status = '" + _Status + "'"; if (_AllNum.HasValue) condition += " and a.AllNum = '" + _AllNum + "'"; if (_ReceiveNum.HasValue) condition += " and a.ReceiveNum = '" + _ReceiveNum + "'"; if (_BeginLastUpdateTime.HasValue) condition += string.Format(" and CAST(a.LastUpdateTime AS DATE) >='{0}'", _BeginLastUpdateTime); if (_EndLastUpdateTime.HasValue) condition += string.Format(" and CAST(a.LastUpdateTime AS DATE) <='{0}'", _EndLastUpdateTime); if (!string.IsNullOrEmpty(_Operator)) condition += " and a.Operator = '" + _Operator + "'"; if (!string.IsNullOrEmpty(_Remark)) condition += " and a.Remark = '" + _Remark + "'"; return _dataBase.SelectModelPage(pagination, " a.*,b.Name as CateName ", " OA_PropertyManage as a left join OA_PropertyCate as b on a.CateId = b.Keyid ", " a.CateId ASC,a.Keyid DESC", " Keyid desc ", condition); } catch (Exception ex) { throw ex; } } /// /// 检测物品是否重复 /// /// /// /// /// public int IsExitsName(string Name, Guid MemberId, string Keyid) { try { IList result = _dataBase.SelectModel("*", "OA_PropertyManage", " Name = '" + Name + "' and MemberId ='" + MemberId + "' and Keyid <> '" + Keyid + "'") as IList;//执行查询 if (null == result || result.Count == 0) return 0; else return 1; } catch (Exception ex) { throw ex; } } /// /// 获取物品分类 /// /// /// public IEnumerable GetDataByType(Guid _MemberId) { try { string condition = " 1=1 "; if (_MemberId != Guid.Empty) condition += " and MemberId = '" + _MemberId + "'"; return _dataBase.SelectModel(" * ", " OA_PropertyCate ", condition); } catch (Exception ex) { throw ex; } } /// /// 根据分类获取物品列表 /// /// /// /// /// public IEnumerable GetDataByCate(Guid _MemberId,int? _CateId,bool IsSearch) { try { string condition = " 1=1 "; if (_MemberId != Guid.Empty) condition += " and MemberId = '" + _MemberId + "'"; if (_CateId>0) condition += " and CateId = '" + _CateId + "'"; if (!IsSearch) condition += " and AllNum > ReceiveNum and Status = '1' "; return _dataBase.SelectModel(" * ", " OA_PropertyManage ", condition); } catch (Exception ex) { throw ex; } } /// /// 根据客户编号获取客户 /// /// 客户编号 /// public IEnumerable SelectListListByCustomId(string CustomId, Guid MemberId) { if (string.IsNullOrEmpty(CustomId)) return null;//错误数据返会空 try { IList result = _dataBase.SelectModel(" a.*,a.AllNum-a.ReceiveNum as havenum,b.Name as CateName", "OA_PropertyManage as a left join OA_PropertyCate as b on a.CateId = b.Keyid", string.Format(" a.Keyid in ({0}) and a.MemberId ='{1}' order by b.Name ASC", CustomId, MemberId)) as IList;//执行查询 return result;//返回结果 } catch (Exception ex) { throw ex; } } } }