/** * 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), new SqlParameter("@Duiyinghetongbianhao",trueModel.Duiyinghetongbianhao), new SqlParameter("@ShejiStatus",trueModel.ShejiStatus.HasValue?trueModel.ShejiStatus.Value:0), new SqlParameter("@Shejirenyuan",trueModel.Shejirenyuan.HasValue?trueModel.Shejirenyuan.Value:0), new SqlParameter("@ShejirenyuanName",string.IsNullOrEmpty(trueModel.ShejirenyuanName)?"":trueModel.ShejirenyuanName), new SqlParameter("@Shejileixing",trueModel.Shejileixing.HasValue?trueModel.Shejileixing.Value:0), new SqlParameter("@ShejileixingName",string.IsNullOrEmpty(trueModel.ShejileixingName)?"":trueModel.ShejileixingName), new SqlParameter("@Danshuangmian",string.IsNullOrEmpty(trueModel.Danshuangmian)?"":trueModel.Danshuangmian), new SqlParameter("@Shejirenyuanneiye",trueModel.Shejirenyuanneiye.HasValue?trueModel.Shejirenyuanneiye.Value:0), new SqlParameter("@ShejirenyuanNameneiye",string.IsNullOrEmpty(trueModel.ShejirenyuanNameneiye)?"":trueModel.ShejirenyuanNameneiye), new SqlParameter("@Shejileixingneiye",trueModel.Shejileixingneiye.HasValue?trueModel.Shejileixingneiye.Value:0), new SqlParameter("@ShejileixingNameneiye",string.IsNullOrEmpty(trueModel.ShejileixingNameneiye)?"":trueModel.ShejileixingNameneiye), new SqlParameter("@Danshuangmianneiye",string.IsNullOrEmpty(trueModel.Danshuangmianneiye)?"":trueModel.Danshuangmianneiye), new SqlParameter("@Shejiyaoqiu",string.IsNullOrEmpty(trueModel.Shejiyaoqiu)?"":trueModel.Shejiyaoqiu), new SqlParameter("@Shejiyaoqiuneiye",string.IsNullOrEmpty(trueModel.Shejiyaoqiuneiye)?"":trueModel.Shejiyaoqiuneiye), new SqlParameter("@ShejiUnitPrice",trueModel.ShejiUnitPrice.HasValue?trueModel.ShejiUnitPrice.Value:0), new SqlParameter("@ShejiSumPrice",trueModel.ShejiSumPrice.HasValue?trueModel.ShejiSumPrice.Value:0), new SqlParameter("@ShejiUnitPriceneiye",trueModel.ShejiUnitPriceneiye.HasValue?trueModel.ShejiUnitPriceneiye.Value:0), new SqlParameter("@ShejiSumPriceneiye",trueModel.ShejiSumPriceneiye.HasValue?trueModel.ShejiSumPriceneiye.Value:0), new SqlParameter("@Shejicount",trueModel.Shejicount.HasValue?trueModel.Shejicount.Value:0), new SqlParameter("@Shejicountneiye",trueModel.Shejicountneiye.HasValue?trueModel.Shejicountneiye.Value:0), }; 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), new SqlParameter("@Duiyinghetongbianhao",trueModel.Duiyinghetongbianhao), new SqlParameter("@ShejiStatus",trueModel.ShejiStatus.HasValue?trueModel.ShejiStatus.Value:0), new SqlParameter("@Shejirenyuan",trueModel.Shejirenyuan.HasValue?trueModel.Shejirenyuan.Value:0), new SqlParameter("@ShejirenyuanName",string.IsNullOrEmpty(trueModel.ShejirenyuanName)?"":trueModel.ShejirenyuanName), new SqlParameter("@Shejileixing",trueModel.Shejileixing.HasValue?trueModel.Shejileixing.Value:0), new SqlParameter("@ShejileixingName",string.IsNullOrEmpty(trueModel.ShejileixingName)?"":trueModel.ShejileixingName), new SqlParameter("@Danshuangmian",string.IsNullOrEmpty(trueModel.Danshuangmian)?"":trueModel.Danshuangmian), new SqlParameter("@Shejirenyuanneiye",trueModel.Shejirenyuanneiye.HasValue?trueModel.Shejirenyuanneiye.Value:0), new SqlParameter("@ShejirenyuanNameneiye",string.IsNullOrEmpty(trueModel.ShejirenyuanNameneiye)?"":trueModel.ShejirenyuanNameneiye), new SqlParameter("@Shejileixingneiye",trueModel.Shejileixingneiye.HasValue?trueModel.Shejileixingneiye.Value:0), new SqlParameter("@ShejileixingNameneiye",string.IsNullOrEmpty(trueModel.ShejileixingNameneiye)?"":trueModel.ShejileixingNameneiye), new SqlParameter("@Danshuangmianneiye",string.IsNullOrEmpty(trueModel.Danshuangmianneiye)?"":trueModel.Danshuangmianneiye), new SqlParameter("@Shejiyaoqiu",string.IsNullOrEmpty(trueModel.Shejiyaoqiu)?"":trueModel.Shejiyaoqiu), new SqlParameter("@Shejiyaoqiuneiye",string.IsNullOrEmpty(trueModel.Shejiyaoqiuneiye)?"":trueModel.Shejiyaoqiuneiye), new SqlParameter("@ShejiUnitPrice",trueModel.ShejiUnitPrice.HasValue?trueModel.ShejiUnitPrice.Value:0), new SqlParameter("@ShejiSumPrice",trueModel.ShejiSumPrice.HasValue?trueModel.ShejiSumPrice.Value:0), new SqlParameter("@ShejiUnitPriceneiye",trueModel.ShejiUnitPriceneiye.HasValue?trueModel.ShejiUnitPriceneiye.Value:0), new SqlParameter("@ShejiSumPriceneiye",trueModel.ShejiSumPriceneiye.HasValue?trueModel.ShejiSumPriceneiye.Value:0), new SqlParameter("@Shejicount",trueModel.Shejicount.HasValue?trueModel.Shejicount.Value:0), new SqlParameter("@Shejicountneiye",trueModel.Shejicountneiye.HasValue?trueModel.Shejicountneiye.Value:0), }; 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 UpSurplusPrintNumsql(int? Keyid, int? SurplusPrintNum, string Operator) { try { var sqlStr = "UPDATE [EC_OrderExtend] SET [SurplusPrintNum]=[PrintNum] WHERE Keyid=@Keyid "; SqlParameter par = new SqlParameter("@Keyid", Keyid); _dataBase.ExecuteSql(sqlStr, par); return true; } catch (Exception ex) { throw ex; } } /// /// 更新订单扩展表剩余印刷数量 /// /// /// /// /// public bool UpShejiStatus(int Keyid, int ShejiStatus, string Operator) { try { var sqlStr = "UPDATE [EC_OrderExtend] SET [ShejiStatus]="+ ShejiStatus + " WHERE Keyid=@Keyid "; SqlParameter par = new SqlParameter("@Keyid", Keyid); _dataBase.ExecuteSql(sqlStr, par); return true; } catch (Exception ex) { throw ex; } } public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model) { throw new NotImplementedException(); } /// /// 根据编号获得信息 /// /// 编号 /// public EC_OrderExtend GetModelByKeyid(int keyid) { try { string condition = " "; condition = " Keyid=" + keyid + ""; // return null;//错误数据返会空 IList result = _dataBase.SelectModel("*", "EC_OrderExtend", condition) as IList;//执行查询 return (null == result || result.Count == 0) ? null : result[0];//返回结果 } catch (Exception ex) { throw ex; } } } }