/**
* 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;
}
}
}
}