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