using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IDAL.Inquiry;
using CY.Infrastructure.Common;
using System.Transactions;
using CY.Model;
using System.Data.SqlClient;
using System.Data;
using CY.Model.Inquiry;
namespace CY.SQLDAL
{
///
///平面设计快速询价操作接口--SQL实现
///
public class GraphicDesignerFastDAL : IGraphicDesignerFastDAL
{
Database _dataBase = null;
public GraphicDesignerFastDAL()
{
_dataBase = new Database();
}
///
/// 获取平面设计快速设置
///
///
///
public IList GetModelList(Guid inquiryId)
{
string selectTarget = @" T.* ";
string fromSouce = @" (
SELECT '单价(元)' AS 'PriceType' ,max(case SJTypeId when '53' then Price else 0 end) AS Price53
,max(case SJTypeId when '54' then Price else 0 end) AS Price54
,max(case SJTypeId when '55' then Price else 0 end) AS Price55
,max(case SJTypeId when '56' then Price else 0 end) AS Price56
,max(case SJTypeId when '57' then Price else 0 end) AS Price57
,max(case SJTypeId when '58' then Price else 0 end) AS Price58
,max(case SJTypeId when '59' then Price else 0 end) AS Price59
FROM Inquiry_GraphicDesignerFastCost
UNION
SELECT '数码出样(元)' AS 'PriceType',max(case SJTypeId when '53' then StartPrice else 0 end) AS StartPrice53
,max(case SJTypeId when '54' then StartPrice else 0 end) AS StartPrice54
,max(case SJTypeId when '55' then StartPrice else 0 end) AS StartPrice55
,max(case SJTypeId when '56' then StartPrice else 0 end) AS StartPrice56
,max(case SJTypeId when '57' then StartPrice else 0 end) AS StartPrice57
,max(case SJTypeId when '58' then StartPrice else 0 end) AS StartPrice58
,max(case SJTypeId when '59' then StartPrice else 0 end) AS StartPrice59
FROM Inquiry_GraphicDesignerFastCost where FirmId='" + inquiryId.ToString() + "' ) T ";
IList result = _dataBase.SelectModel(selectTarget, fromSouce,"");
return result;
}
///
/// 保存平面设计快速设置
///
///
///
///
public bool SaveModelList(IList list, InquiryCondition inquiryCondition)
{
bool isSuccess = true;
using (TransactionScope scope = new TransactionScope())
{
//执行复制全部询价参数数据
if (inquiryCondition.IsFirstSave())
{
new CommonInquiryHelper(_dataBase).CopyALLInquiryParameter(inquiryCondition);
}
foreach (Inquiry_GraphicDesignerFastCost model in list)
{
isSuccess = UpdateModel(model);
if (!isSuccess)
break;
}
if (isSuccess)
scope.Complete();
}
return isSuccess;
}
///
/// 新增平面设计快速设置
///
///
///
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
return true;
}
///
/// 更新平面设计快速设置
///
///
///
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Model.Inquiry_GraphicDesignerFastCost trueModel = model as Model.Inquiry_GraphicDesignerFastCost;
if (trueModel == null)
{
return false;
}
SqlParameter[] parameters = {
new SqlParameter("@FirmId", SqlDbType.UniqueIdentifier,16),
new SqlParameter("@SJTypeId", SqlDbType.Int),
new SqlParameter("@Price", SqlDbType.Money,8),
new SqlParameter("@Operater", SqlDbType.VarChar,20),
new SqlParameter("@LastUpdateTime", SqlDbType.DateTime),
new SqlParameter("@StartPrice", SqlDbType.Money,8)
};
parameters[0].Value = trueModel.FirmId;
parameters[1].Value = trueModel.SJTypeId;
parameters[2].Value = trueModel.Price;
parameters[3].Value = trueModel.Operater;
parameters[4].Value = trueModel.LastUpdateTime;
parameters[5].Value = trueModel.StartPrice;
try
{
_dataBase.Query("Inquiry_GraphicDesignerFastCost_Update", CommandType.StoredProcedure, parameters);
}
catch (Exception ex)
{
throw ex;
}
return true;
}
///
/// 删除广告扑克快速设置
///
///
///
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
throw new NotImplementedException();
}
public Inquiry_GraphicDesignerFastCost GetGraphicDesignerFastPrice(int sjTypeId, Guid inquiryId)
{
Inquiry_GraphicDesignerFastCost model=null;
string selectTarget = " * ";
string fromSouce = " Inquiry_GraphicDesignerFastCost ";
string condition = " FirmId='" + inquiryId.ToString() + "' and sjTypeId=" + sjTypeId;
IList result = _dataBase.SelectModel(selectTarget, fromSouce, condition);
if (result != null && result.Count > 0)
{
model = result[0];
}
return model;
}
}
}