/**
|
* 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
|
{
|
/// <summary>
|
/// 订单扩展信息数据访问接口实现类
|
/// </summary>
|
internal class EC_OrderExtendDAL : IEC_OrderExtendDAL
|
{
|
|
private Database _dataBase = null;
|
|
/// <summary>
|
/// 初始化构造
|
/// </summary>
|
/// <param name="database"></param>
|
public EC_OrderExtendDAL(Database database)
|
{
|
_dataBase = database;
|
}
|
|
/// <summary>
|
/// 默认构造
|
/// </summary>
|
public EC_OrderExtendDAL()
|
{
|
_dataBase = new Database();
|
}
|
|
/// <summary>
|
/// 新增
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
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<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
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<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="model"></param>
|
/// <returns></returns>
|
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<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
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<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 修改
|
/// </summary>
|
/// <param name="model">订单扩展信息</param>
|
/// <param name="orderParam">订单印刷选项</param>
|
/// <returns></returns>
|
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;
|
}
|
|
/// <summary>
|
/// 修改外协订单
|
/// </summary>
|
/// <param name="orderBasic"></param>
|
/// <param name="orderExtend"></param>
|
/// <param name="orderParam"></param>
|
/// <returns></returns>
|
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;
|
}
|
|
/// <summary>
|
/// 删除
|
/// </summary>
|
/// <param name="id"></param>
|
/// <returns></returns>
|
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
Model.EC_OrderExtend trueModel = model as Model.EC_OrderExtend;
|
if (trueModel == null)
|
{
|
return false;
|
}
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
new SqlParameter("@Keyid",trueModel.Keyid)
|
};
|
try
|
{
|
_dataBase.Query("sp_EC_OrderExtend_DeleteRow", CommandType.StoredProcedure, sqlParms.ToArray<SqlParameter>());
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
return true;
|
}
|
|
/// <summary>
|
/// 分页查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <param name="pagination"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.EC_OrderExtend> SelectModelPage(Infrastructure.Query.Query query, Infrastructure.Query.Pagination pagination)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 单个查询
|
/// </summary>
|
/// <param name="query"></param>
|
/// <returns></returns>
|
public IEnumerable<Model.EC_OrderExtend> SelectAllModel(Infrastructure.Query.Query query)
|
{
|
throw new NotImplementedException();
|
}
|
|
/// <summary>
|
/// 更新订单扩展表剩余印刷数量
|
/// </summary>
|
/// <param name="Keyid"></param>
|
/// <param name="SurplusPrintNum"></param>
|
/// <param name="Operator"></param>
|
/// <returns></returns>
|
public bool UpSurplusPrintNum(int? Keyid, int? SurplusPrintNum, string Operator)
|
{
|
bool result = false;
|
IList<SqlParameter> sqlParms = new List<SqlParameter>()
|
{
|
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<SqlParameter>());
|
result = 1.Equals(sqlParms[3].Value);
|
return result;
|
}
|
catch (Exception ex)
|
{
|
throw ex;
|
}
|
}
|
|
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
|
{
|
throw new NotImplementedException();
|
}
|
}
|
}
|