using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL.Inquiry; using CY.Model; using System.Data.SqlClient; using System.Data; using System.Transactions; using CY.Infrastructure.Common; namespace CY.SQLDAL { /// /// 纸张类别相关操作--SQL数据库操作 /// public class PaperTypeDAL : IPaperTypeDAL { private Database _dataBase = null; public PaperTypeDAL() { _dataBase = new Database(); } /// /// 新增纸张类别 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.SysInquiry_PaperType trueModel = model as Model.SysInquiry_PaperType; if (trueModel == null) { return false; } SqlParameter[] parameters = { new SqlParameter("@PaperTypeName", SqlDbType.VarChar,50), new SqlParameter("@Status", SqlDbType.Int,4), new SqlParameter("@OrderNum", SqlDbType.Int,4)}; parameters[0].Value = trueModel.PaperTypeName; parameters[1].Value = trueModel.Status; parameters[2].Value = trueModel.OrderNum; try { _dataBase.Query("SysInquiry_PaperType_ADD", CommandType.StoredProcedure, parameters); } catch (Exception ex) { throw ex; } return true; } /// /// 修改纸张类别 /// /// /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { bool isSuccess = true; PaperInfoDAL _paperInfoDAL = new PaperInfoDAL(_dataBase); using (TransactionScope scope = new TransactionScope()) { Model.SysInquiry_PaperType trueModel = model as Model.SysInquiry_PaperType; if (trueModel == null) { isSuccess = false; } else { SqlParameter[] parameters = { new SqlParameter("@PaperTypeName", SqlDbType.VarChar,50), new SqlParameter("@Status", SqlDbType.Int,4), new SqlParameter("@OrderNum", SqlDbType.Int,4), new SqlParameter("@KeyId", SqlDbType.Int,4)}; parameters[0].Value = trueModel.PaperTypeName; parameters[1].Value = trueModel.Status; parameters[2].Value = trueModel.OrderNum; parameters[3].Value = trueModel.KeyId; try { _dataBase.Query("SysInquiry_PaperType_Update", CommandType.StoredProcedure, parameters); isSuccess = true; } catch (Exception ex) { throw ex; } if (isSuccess) { SysInquiry_PaperInfo paperModel = new SysInquiry_PaperInfo(); paperModel.PaperTypeId = trueModel.KeyId; if (trueModel.Status == 1) { paperModel.Status = true; } else { paperModel.Status = false; } isSuccess = _paperInfoDAL.UpdatePaperStatus(paperModel); } if (isSuccess) scope.Complete(); } } return isSuccess; } /// /// 删除纸张类别 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { return false; } /// /// 分页返回纸张类别列表 /// /// 类别名称 /// 分页参数 /// public IEnumerable SelectModelPage(string typeName,int status,Infrastructure.Query.Pagination pagination) { string condition=string.Empty; condition = " 1=1 "; if (!string.IsNullOrEmpty(typeName)) { condition = " and PaperTypeName like '%" + typeName + "%'"; } if (status != -1) { condition += " and Status=" + status; } return _dataBase.SelectModelPage(pagination, "*", "SysInquiry_PaperType", "OrderNum", "OrderNum", condition); } /// /// 根据主键返回品牌实体 /// /// 主键ID /// 品牌实体 public SysInquiry_PaperType SelectModelByKey(int keyid) { string condition=string.Empty; condition=" KeyId="+keyid; IList result = _dataBase.SelectModel("*", "SysInquiry_PaperType", condition); return null == result || result.Count == 0 ? null : result[0]; } /// /// 判断是否有相同的纸张类别名称 /// /// /// public bool IsExistsPaperTypeName(string typeName) { string condition=string.Empty; condition = " PaperTypeName='" + typeName + "'"; IList result = _dataBase.SelectModel("*", "SysInquiry_PaperType", condition); if(result!=null&&result.Count!=0) { return true; } else { return false; } } /// /// 返回所有有效的纸张类别列表 /// /// public IEnumerable GetPaperTypeList() { string condition = string.Empty; condition = " Status=1 order by OrderNum "; IList result = _dataBase.SelectModel("*", "SysInquiry_PaperType", condition); return result; } /// /// 获取最新排序顺序 /// /// public int GetOrderNumByMax() { int orderNum = 1; IList result = _dataBase.SelectModel(" MAX(OrderNum)+1 AS OrderNum ", "SysInquiry_PaperType", string.Empty); if (result != null && result.Count > 0) { orderNum = result[0].OrderNum.Value; } return orderNum; } } }