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 PrintingWorksBLL
{
private IPrintingWorksDAL _iPrintingWorksDAL = null;
public PrintingWorksBLL()
{
_iPrintingWorksDAL = Factory.GetDALByInterfaceName(DALInterface.IPrintingWorksDAL) as IPrintingWorksDAL;
}
///
/// 获取印工价格表列表
///
///
///
///
public IList GetModelList(Guid inquiryId)
{
return _iPrintingWorksDAL.GetModelList(inquiryId);
}
///
/// 保存印工价格表
///
///
///
///
///
public bool SaveModelList(IList list, InquiryCondition inquiryCondition)
{
return _iPrintingWorksDAL.SaveModelList(list,inquiryCondition);
}
///
/// 获取印工价格(2开机和4开机)
///
///
///
///
///
public Inquiry_PrintingWorks GetModel(int impressionCount, int equipmentId, Guid inquiryId)
{
IList list = GetModelList(inquiryId);
Inquiry_PrintingWorks model = null;
if (impressionCount < 10001)
{
model = list.Single(p => p.MachineId == equipmentId && p.MinPrintCount <= impressionCount && p.MaxPrintCount >= impressionCount) as Inquiry_PrintingWorks;
}
else
{
model = list.Single(p => p.MachineId == equipmentId && p.MinPrintCount <= impressionCount && p.MaxPrintCount == 0) as Inquiry_PrintingWorks;
}
return model;
}
///
/// 获取印工价格(2开和8开单色机)
///
///
///
///
public Inquiry_PrintingWorks GetModel(int equipmentId, Guid inquiryId)
{
IList list = GetModelList(inquiryId);
Inquiry_PrintingWorks model = null;
model = list.Single(p => p.MachineId == equipmentId) as Inquiry_PrintingWorks;
return model;
}
///
/// 获取印工价格(2开双面机、双色机)
///
///
///
///
///
public Inquiry_PrintingWorks GetModel2(int impressionCount, int equipmentId, Guid inquiryId)
{
IList list = GetModelList(inquiryId);
Inquiry_PrintingWorks model = null;
if (impressionCount < 5001)
{
model = list.Single(p => p.MachineId == equipmentId && p.MinPrintCount <= impressionCount && p.MaxPrintCount >= impressionCount) as Inquiry_PrintingWorks;
}
else
{
model = list.Single(p => p.MachineId == equipmentId && p.MinPrintCount <= impressionCount && p.MaxPrintCount == 0) as Inquiry_PrintingWorks;
}
return model;
}
}
}