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 { /// /// 模切费业务逻辑类 /// public class CuttingCostBLL { ICuttingCostDAL _iCuttingCostDAL = null; public CuttingCostBLL() { _iCuttingCostDAL = Factory.GetDALByInterfaceName(DALInterface.ICuttingCostDAL) as ICuttingCostDAL; } /// /// 获取模切费价格列表 /// /// /// /// public IList GetModelList(Guid inquiryId, int printingTyId, bool isByPapersize) { return _iCuttingCostDAL.GetModelList(inquiryId, printingTyId, isByPapersize); } /// /// 保存模切费价格列表 /// /// /// /// /// public bool SaveModelList(IList list, InquiryCondition inquiryCondition, int printingTyId, bool isByPapersize) { return _iCuttingCostDAL.SaveModelList(list,inquiryCondition, printingTyId, isByPapersize); } /// /// 获取模切费 /// /// /// /// /// public Inquiry_CuttingCost GetModel(int printingTyId, int pageSizeValue, Guid inquiryId) { IList list = GetModelList(inquiryId, printingTyId,true); Inquiry_CuttingCost model = list.Single(p => p.ShowId == pageSizeValue) as Inquiry_CuttingCost; return model; } /// /// 获取模切费价格 /// /// /// /// /// public decimal GetCuttingPrice(int printingTyId, int pageSizeValue, int printCount, Guid inquiryId) { decimal price = 0; Inquiry_CuttingCost model = GetModel(printingTyId, pageSizeValue, inquiryId); if(model!=null) { price = model.Price * printCount; if (price <= model.StartPrice) price = model.StartPrice; price += model.PlatemakPrice; } return price; } /// /// 获取信封的模切费 /// /// /// /// /// public Inquiry_CuttingCost GetModelByEnvelope(int printingTyId, int envelopeModeTypeId, Guid inquiryId) { IList list = GetModelList(inquiryId, printingTyId, false); Inquiry_CuttingCost model = list.Single(p => p.ShowId == envelopeModeTypeId) as Inquiry_CuttingCost; return model; } /// /// 获取信封的模切费 /// /// /// /// /// public decimal GetCuttingPriceByEnvelope(int printingTyId, int envelopeModeTypeId, int printCount, Guid inquiryId) { decimal price = 0; Inquiry_CuttingCost model = GetModelByEnvelope(printingTyId, envelopeModeTypeId, inquiryId); if (model != null) { price = model.Price * printCount; if (price <= model.StartPrice) price = model.StartPrice; price += model.PlatemakPrice; } return price; } } }