using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using CY.IDAL.Inquiry;
|
using AbstractFactory;
|
using CY.Model;
|
using CY.Model.Inquiry;
|
|
namespace CY.BLL.Inquiry
|
{
|
/// <summary>
|
/// 人像卡快速询价表业务逻辑
|
/// </summary>
|
public class PortraitCardFastCostBLL
|
{
|
IPortraitCardFastCostDAL _iPortraitCardFastCostDAL = null;
|
|
public PortraitCardFastCostBLL()
|
{
|
_iPortraitCardFastCostDAL = Factory.GetDALByInterfaceName(DALInterface.IPortraitCardFastCostDAL) as IPortraitCardFastCostDAL;
|
}
|
|
/// <summary>
|
/// 获取人像卡快速询价表列表
|
/// </summary>
|
/// <param name="firmId"></param>
|
/// <param name="customerId"></param>
|
/// <returns></returns>
|
public IList<Inquiry_PortraitCardFastCost> GetModelList(Guid inquiryId)
|
{
|
return _iPortraitCardFastCostDAL.GetModelList(inquiryId);
|
}
|
|
/// <summary>
|
/// 保存人像卡快速询价表
|
/// </summary>
|
/// <param name="list"></param>
|
/// <param name="firmId"></param>
|
/// <param name="customerId"></param>
|
/// <returns></returns>
|
public bool SaveModelList(IList<Inquiry_PortraitCardFastCost> list, InquiryCondition inquiryCondition)
|
{
|
return _iPortraitCardFastCostDAL.SaveModelList(list, inquiryCondition);
|
}
|
|
/// <summary>
|
/// 获取人像卡快速询价价格
|
/// </summary>
|
/// <param name="area"></param>
|
/// <param name="printCount"></param>
|
/// <param name="inquiryId"></param>
|
/// <returns></returns>
|
public decimal GetPortraitCardFastPaperPrice(string area, int printCount, Guid inquiryId)
|
{
|
decimal price = 0;
|
IList<Inquiry_PortraitCardFastCost> list = GetModelList(inquiryId);
|
Inquiry_PortraitCardFastCost model = null;
|
if (printCount < 51)
|
{
|
model = list.Single<Inquiry_PortraitCardFastCost>(p => p.Area == area && p.MinPrintCount <= printCount && p.MaxPrintCount >= printCount) as Inquiry_PortraitCardFastCost;
|
}
|
else
|
{
|
model = list.Single<Inquiry_PortraitCardFastCost>(p => p.Area == area && p.MinPrintCount <= printCount && p.MaxPrintCount==0) as Inquiry_PortraitCardFastCost;
|
}
|
price = model.Price * printCount;
|
if (price < model.StartPrice)
|
price = model.StartPrice;
|
return price;
|
}
|
}
|
}
|