/** * EC_OrderExtendDAL.cs * * 功 能: 订单扩展信息数据访问接口实现类 * 类 名: EC_OrderExtendDAL * * Ver 变更日期 负责人 变更内容 * ─────────────────────────────────── * V0.01 2013-4-23 10:09 吴崎均 更改InsertModel以及UpdateModel以与存储相匹配 * V0.02 2013-4-23 14:45 吴崎均 增加初始化构造 * V0.03 2013-5-29 14:38 吴崎均 修改更新数据方法:不更新剩余印刷数量 * V0.04 2013-6-1 14:14 吴崎均 修改更新数据方法:更新时更新订单印刷选项 * * * */ 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 { /// /// 订单扩展信息数据访问接口实现类 /// internal class EC_OrderExtendDAL : IEC_OrderExtendDAL { private Database _dataBase = null; /// /// 初始化构造 /// /// public EC_OrderExtendDAL(Database database) { _dataBase = database; } /// /// 默认构造 /// public EC_OrderExtendDAL() { _dataBase = new Database(); } /// /// 新增 /// /// /// public bool InserModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_OrderExtend trueModel = model as Model.EC_OrderExtend; if (trueModel == null) { return false; } SqlParameter delayTime = null; if (trueModel.DelayTime.HasValue) { delayTime = new SqlParameter("@DelayTime", trueModel.DelayTime); } else { delayTime = new SqlParameter("@DelayTime", DBNull.Value); } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@FileId",trueModel.FileId), new SqlParameter("@ProofreadWayId",trueModel.ProofreadWayId), new SqlParameter("@ProofreadState",trueModel.ProofreadState), new SqlParameter("@ProofreadFileId",trueModel.ProofreadFileId), new SqlParameter("@PrintNum",trueModel.PrintNum), new SqlParameter("@ExigencyCaseId",trueModel.ExigencyCaseId), new SqlParameter("@BusinessManagerId",trueModel.BusinessManagerId), new SqlParameter("@CustomerManagerId",trueModel.CustomerManagerId), new SqlParameter("@CustomerLevelId",trueModel.CustomerLevelId), new SqlParameter("@Contacts",trueModel.Contacts), new SqlParameter("@ContactPhone",trueModel.ContactPhone), new SqlParameter("@InvoiceId",trueModel.InvoiceId), new SqlParameter("@SurplusPrintNum",trueModel.SurplusPrintNum), new SqlParameter("@Operate",trueModel.Operate), new SqlParameter("@Remark",trueModel.Remark), new SqlParameter("@BookNum",trueModel.BookNum), new SqlParameter("@BookPrice",trueModel.BookPrice), new SqlParameter("@NumPerBag",trueModel.NumPerBag), new SqlParameter("@BagNum",trueModel.BagNum), delayTime, new SqlParameter("@Productionprogress",trueModel.Productionprogress), new SqlParameter("@PrintPackDeliveryRequir",trueModel.PrintPackDeliveryRequir), new SqlParameter("@printunit",trueModel.printunit) }; int i = -1; while (++i < sqlParms.Count) { sqlParms[i].Value = null == sqlParms[i].Value ? DBNull.Value : sqlParms[i].Value; } try { _dataBase.Query("sp_EC_OrderExtend_Insert", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// /// public bool OldUpdate(Infrastructure.Domain.IAggregateRoot model) { EC_OrderBasic basic = model as Model.EC_OrderBasic; Model.EC_OrderExtend trueModel = basic.OrderExtend; if (trueModel == null) { return false; } SqlParameter unitPricePar = null; if (basic.UnitPrice.HasValue) { unitPricePar = new SqlParameter("@UnitPrice", basic.UnitPrice); } else { unitPricePar = new SqlParameter("@UnitPrice", DBNull.Value); } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid), new SqlParameter("@ProofreadWayId",trueModel.ProofreadWayId), new SqlParameter("@ExigencyCaseId",trueModel.ExigencyCaseId), new SqlParameter("@BusinessManagerId",trueModel.BusinessManagerId), new SqlParameter("@CustomerManagerId",trueModel.CustomerManagerId), new SqlParameter("@CustomerLevelId",trueModel.CustomerLevelId), new SqlParameter("@Contacts",trueModel.Contacts), new SqlParameter("@ContactPhone",trueModel.ContactPhone), new SqlParameter("@SurplusPrintNum",trueModel.SurplusPrintNum), unitPricePar, new SqlParameter("@SumPrice",basic.SumPrice), //new SqlParameter("@SurplusPrintNum",trueModel.SurplusPrintNum), new SqlParameter("@Operate",trueModel.Operate), new SqlParameter("@Remark",trueModel.Remark), new SqlParameter("@BookNum",trueModel.BookNum), new SqlParameter("@BookPrice",trueModel.BookPrice), new SqlParameter("@NumPerBag",trueModel.NumPerBag), new SqlParameter("@BagNum",trueModel.BagNum), new SqlParameter("@PrintPackDeliveryRequir",trueModel.PrintPackDeliveryRequir), new SqlParameter("@printunit",trueModel.printunit) }; try { _dataBase.Query("sp_EC_OrderExtend_Update", CommandType.StoredProcedure, sqlParms.ToArray()); } catch (Exception ex) { throw ex; } return true; } /// /// 修改 /// /// 订单扩展信息 /// 订单印刷选项 /// public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model, EC_OrderPrintParameter orderParam = null) { EC_OrderBasic trueModel = model as Model.EC_OrderBasic; if (trueModel == null) { return false; } EC_AcceptWayByOrderDAL _eC_AcceptWayByOrderDAL = new EC_AcceptWayByOrderDAL(_dataBase); EC_OrderPrintParameterDAL eC_OrderPrintParameterDAL = null == orderParam ? null : new EC_OrderPrintParameterDAL(); using (TransactionScope tran = new TransactionScope()) { if (trueModel.AcceptWayByOrder == null || !_eC_AcceptWayByOrderDAL.UpdateModel(trueModel.AcceptWayByOrder)) { return false; } if (trueModel.OrderTypeId == 1) { if (null == orderParam || eC_OrderPrintParameterDAL.UpdateModel(orderParam)) { } else return false; if (!this.OldUpdate(trueModel)) { return false; } if (!new EC_OrderBasicDAL(_dataBase).UpdateModel(trueModel)) { return false; } } tran.Complete(); } return true; } /// /// 修改外协订单 /// /// /// /// /// public bool UpdateOutOrderInfo(EC_OrderBasic orderBasic, EC_OrderExtend orderExtend, EC_OrderPrintParameter orderParam = null) { EC_OrderBasic trueModel = orderBasic as Model.EC_OrderBasic; if (trueModel == null) { return false; } EC_AcceptWayByOrderDAL _eC_AcceptWayByOrderDAL = new EC_AcceptWayByOrderDAL(_dataBase); EC_OrderPrintParameterDAL eC_OrderPrintParameterDAL = null == orderParam ? null : new EC_OrderPrintParameterDAL(); using (TransactionScope tran = new TransactionScope()) { if (trueModel.AcceptWayByOrder == null) { return false; } if (trueModel.AcceptWayByOrder.Keyid == null) { if (!_eC_AcceptWayByOrderDAL.InserModel(trueModel.AcceptWayByOrder)) { return false; } } else { if (!_eC_AcceptWayByOrderDAL.UpdateModel(trueModel.AcceptWayByOrder)) { return false; } } if (trueModel.OrderTypeId == 2 || trueModel.OrderTypeId == 4) { if (null == orderParam || eC_OrderPrintParameterDAL.UpdateModel(orderParam)) { } else return false; if (!this.OldUpdate(trueModel)) { return false; } if (!new EC_OrderBasicDAL(_dataBase).UpdateModel(trueModel)) { return false; } } tran.Complete(); } return true; } /// /// 删除 /// /// /// public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model) { Model.EC_OrderExtend trueModel = model as Model.EC_OrderExtend; if (trueModel == null) { return false; } IList sqlParms = new List() { new SqlParameter("@Keyid",trueModel.Keyid) }; try { _dataBase.Query("sp_EC_OrderExtend_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 bool UpSurplusPrintNum(int? Keyid, int? SurplusPrintNum, string Operator) { bool result = false; IList sqlParms = new List() { new SqlParameter("@Keyid",Keyid), new SqlParameter("@SurplusPrintNum",SurplusPrintNum), new SqlParameter("@Operator",Operator), new SqlParameter(){ParameterName="@result",Direction=ParameterDirection.ReturnValue,SqlDbType=SqlDbType.Int} }; try { _dataBase.Query("sp_EC_OrderExtend_Update_SurplusPrintNum", CommandType.StoredProcedure, sqlParms.ToArray()); result = 1.Equals(sqlParms[3].Value); return result; } catch (Exception ex) { throw ex; } } public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { throw new NotImplementedException(); } } }