using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using CY.IDAL.Inquiry;
|
using AbstractFactory;
|
using CY.Model;
|
using CY.Infrastructure.Common;
|
namespace CY.BLL.Inquiry
|
{
|
/// <summary>
|
/// 印刷类型范围设置业务逻辑类
|
/// </summary>
|
public class RangeofBusinessBLL
|
{
|
IRangeofBusinessDAL _iRangeofBusinessDAL = null;
|
PaperInfoBLL _paperInfoBLL = null;
|
public RangeofBusinessBLL()
|
{
|
_iRangeofBusinessDAL = Factory.GetDALByInterfaceName(DALInterface.IRangeofBusinessDAL) as IRangeofBusinessDAL;
|
_paperInfoBLL = new PaperInfoBLL();
|
}
|
|
/// <summary>
|
/// 根据printTypeId获取印刷类型范围设置列表
|
/// </summary>
|
/// <param name="printTypeId"></param>
|
/// <returns></returns>
|
public IList<SysInquiry_RangeofBusiness> GetModelList(int printTypeId)
|
{
|
return _iRangeofBusinessDAL.GetModelList(printTypeId);
|
}
|
|
/// <summary>
|
/// 根据印刷类型获取其可用的纸张
|
/// </summary>
|
/// <param name="printTypeId"></param>
|
/// <returns></returns>
|
public IList<SysInquiry_PaperInfo> GetPaperInfo(int printTypeId)
|
{
|
PaperInfoBLL _paperInfoBLL = new PaperInfoBLL();
|
IList<SysInquiry_PaperInfo> list=new List<SysInquiry_PaperInfo>();
|
IList<SysInquiry_RangeofBusiness> rList=GetModelList(printTypeId);
|
foreach (SysInquiry_RangeofBusiness model in rList)
|
{
|
list.Add(_paperInfoBLL.GetPaperModel(model.PagerId.Value));
|
}
|
return list;
|
}
|
|
/// <summary>
|
/// 获取某个印刷类型的某个纸张的克重
|
/// </summary>
|
/// <param name="printTypeId"></param>
|
/// <param name="paperId"></param>
|
/// <returns></returns>
|
public List<int> GramWeightByPrintTypeId(int printTypeId, int paperId)
|
{
|
IList<SysInquiry_RangeofBusiness> list = GetModelList(printTypeId);
|
if (list.Count > 0)
|
{
|
List<int> gramWeightList = new List<int>();
|
try
|
{
|
SysInquiry_RangeofBusiness model = list.Single<SysInquiry_RangeofBusiness>(p => p.PagerId == paperId) as SysInquiry_RangeofBusiness;
|
string gramWeights = model.GramWeightRange;
|
string[] arry = gramWeights.Split('|');
|
|
foreach (string s in arry)
|
{
|
gramWeightList.Add(s.ToInt32().Value);
|
}
|
}
|
catch
|
{
|
|
}
|
return gramWeightList;
|
}
|
else
|
{
|
return new List<int>();
|
}
|
}
|
|
/// <summary>
|
/// 获取某个印刷类型的某个纸张的克重(包含品牌)
|
/// </summary>
|
/// <param name="printTypeId"></param>
|
/// <param name="paperId"></param>
|
/// <returns></returns>
|
public List<int> GramWeightByPrintTypeId(int printTypeId, int paperId, int brandId)
|
{
|
IList<SysInquiry_RangeofBusiness> list = GetModelList(printTypeId);
|
if (list.Count > 0)
|
{
|
List<int> gramWeightList = new List<int>();
|
try
|
{
|
SysInquiry_RangeofBusiness model = list.Single<SysInquiry_RangeofBusiness>(p => p.PagerId == paperId) as SysInquiry_RangeofBusiness;
|
string gramWeights = model.GramWeightRange;
|
string[] arry = gramWeights.Split('|');
|
|
foreach (string s in arry)
|
{
|
if (!IsNoPrice(paperId, s.ToInt32().Value, brandId))
|
gramWeightList.Add(s.ToInt32().Value);
|
}
|
}
|
catch
|
{
|
|
}
|
return gramWeightList;
|
}
|
else
|
{
|
return new List<int>();
|
}
|
}
|
|
/// <summary>
|
/// 保存印刷类型范围设置列表
|
/// </summary>
|
/// <param name="?"></param>
|
/// <param name="printTypeId"></param>
|
/// <returns></returns>
|
public bool SaveModelList(IList<SysInquiry_RangeofBusiness> list, int printTypeId)
|
{
|
return _iRangeofBusinessDAL.SaveModelList(list,printTypeId);
|
}
|
|
/// <summary>
|
/// 判断纸张的吨价是否为0
|
/// </summary>
|
/// <param name="?"></param>
|
/// <returns></returns>
|
public bool IsNoPrice(int paperId, int gramWeight, int brandId)
|
{
|
decimal tonsOfPrice = _paperInfoBLL.GetTonsOfPrice(paperId, gramWeight, brandId, UtilConst.AdminFirmId.ToGuid2());
|
if (tonsOfPrice == (0).ToDecimal2().Value)
|
{
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
|
}
|
}
|