using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using CY.IDAL.Inquiry;
using System.Transactions;
using CY.Model;
using System.Data.SqlClient;
using System.Data;
namespace CY.SQLDAL
{
///
/// 人像卡快速询价表操作接口--SQL实现
///
public class PortraitCardFastCostDAL : IPortraitCardFastCostDAL
{
Database _dataBase = null;
public PortraitCardFastCostDAL()
{
_dataBase = new Database();
}
public IList GetModelList(Guid inquiryId)
{
string selectTarget = @" Area,MinPrintCount,MaxPrintCount,Price,StartPrice,BracePrice,
CASE
WHEN MinPrintCount=0 AND MaxPrintCount=10 THEN '10张以下'
WHEN MinPrintCount=11 AND MaxPrintCount=30 THEN '10-30张'
WHEN MinPrintCount=31 AND MaxPrintCount=50 THEN '31-50张'
WHEN MinPrintCount=51 AND MaxPrintCount=0 THEN '51张以上'
END AS PrintCountName ";
string fromSouce = " Inquiry_PortraitCardFastCost ";
string condition = " FirmId='" + inquiryId.ToString() + "'";
IList result = _dataBase.SelectModel(selectTarget, fromSouce, condition);
return result;
}
public bool SaveModelList(IList list, Model.Inquiry.InquiryCondition inquiryCondition)
{
bool isSuccess = true;
using (TransactionScope scope = new TransactionScope())
{
//执行复制全部询价参数数据
if (inquiryCondition.IsFirstSave())
{
new CommonInquiryHelper(_dataBase).CopyALLInquiryParameter(inquiryCondition);
}
foreach (Inquiry_PortraitCardFastCost model in list)
{
isSuccess = UpdateModel(model);
if (!isSuccess)
break;
}
if (isSuccess)
scope.Complete();
}
return isSuccess;
}
public bool InserModel(Infrastructure.Domain.IAggregateRoot model)
{
throw new NotImplementedException();
}
public bool UpdateModel(Infrastructure.Domain.IAggregateRoot model)
{
Inquiry_PortraitCardFastCost trueModel = model as Inquiry_PortraitCardFastCost;
if (trueModel == null)
{
return false;
}
SqlParameter[] parameters = {
new SqlParameter("@FirmId", SqlDbType.UniqueIdentifier,16),
new SqlParameter("@Area", SqlDbType.VarChar,50),
new SqlParameter("@MinPrintCount", SqlDbType.Int,4),
new SqlParameter("@MaxPrintCount", SqlDbType.Int,4),
new SqlParameter("@Price", SqlDbType.Money,8),
new SqlParameter("@StartPrice", SqlDbType.Money,8),
new SqlParameter("@BracePrice", SqlDbType.Money,8),
new SqlParameter("@Operater", SqlDbType.VarChar,20),
new SqlParameter("@LastUpdateTime", SqlDbType.DateTime)};
parameters[0].Value = trueModel.FirmId;
parameters[1].Value = trueModel.Area;
parameters[2].Value = trueModel.MinPrintCount;
parameters[3].Value = trueModel.MaxPrintCount;
parameters[4].Value = trueModel.Price;
parameters[5].Value = trueModel.StartPrice;
parameters[6].Value = trueModel.BracePrice;
parameters[7].Value = trueModel.Operater;
parameters[8].Value = trueModel.LastUpdateTime;
try
{
_dataBase.Query("Inquiry_PortraitCardFastCost_Update", CommandType.StoredProcedure, parameters);
}
catch (Exception ex)
{
throw ex;
}
return true;
}
public bool DeleteModel(Infrastructure.Domain.IAggregateRoot model)
{
throw new NotImplementedException();
}
}
}