using System; using System.Collections.Generic; using System.Linq; using System.Text; using CY.IDAL.Inquiry; using AbstractFactory; using CY.Model; using CY.Infrastructure.Query; using CY.Model.Inquiry; namespace CY.BLL.Inquiry { /// /// 纸张相关业务类 /// public class PaperInfoBLL { IPaperInfoDAL _iPaperInfoDAL = null; public PaperInfoBLL() { _iPaperInfoDAL = Factory.GetDALByInterfaceName(DALInterface.IPaperInfoDAL) as IPaperInfoDAL; } /// /// 分页获取纸张列表 /// /// 品牌名称 /// 分页参数 /// public IEnumerable GetPaperListByPaging(string paperName, int paperTypeId,string status, Pagination pa) { IEnumerable paperList = _iPaperInfoDAL.GetPaperListByPaging(paperName,paperTypeId,status,pa); IList tempList = new List(); SysInquiry_PaperInfo model = null; foreach (SysInquiry_PaperInfo paperModel in paperList) { tempList.Add(GetPaperModel(paperModel.PapeId)); } return tempList; } /// /// 根据paperId获取纸张信息 /// /// /// public SysInquiry_PaperInfo GetPaperModel(int paperId) { IList paperList = _iPaperInfoDAL.GetPaperList(paperId).OrderBy(p=>p.GramWeight).ToList(); SysInquiry_PaperInfo model = new SysInquiry_PaperInfo(); if (paperList != null && paperList.Count() > 0) { model.PapeId = paperList[0].PapeId; model.PaperName = paperList[0].PaperName; model.Status = paperList[0].Status; model.DefaultBrandId = paperList[0].DefaultBrandId; model.DefaultBrandName = paperList[0].DefaultBrandName; model.PaperTypeId = paperList[0].PaperTypeId; model.PaperTypeName = paperList[0].PaperTypeName; model.OrderNum = paperList[0].OrderNum; model.GramWeights = string.Empty; foreach (SysInquiry_PaperInfo paperModel in paperList) { model.GramWeights += paperModel.GramWeight.ToString() + "|"; } if (!string.IsNullOrEmpty(model.GramWeights)) { model.GramWeights = model.GramWeights.Substring(0, model.GramWeights.Length - 1); } } return model; } /// /// 获取最新排序顺序 /// /// public int GetOrderNumByMax(int paperTypeId) { return _iPaperInfoDAL.GetOrderNumByMax(paperTypeId); } /// /// 根据paperId获取其对应的品牌列表 /// /// /// public IEnumerable GetBrandInfoListByPaper(int paperId) { return _iPaperInfoDAL.GetBrandInfoListByPaper(paperId); } /// /// 判断是否有相同的纸扎名称 /// /// /// public bool IsExistspeperName(string peperName) { return _iPaperInfoDAL.IsExistspeperName(peperName); } /// /// 获取最新的纸张编号 /// /// public int GetNewPaperId() { return _iPaperInfoDAL.GetNewPaperId(); } /// /// 新增纸张 /// /// /// public bool InsertPaper(IList modelList,IList brandList) { return _iPaperInfoDAL.InsertPaper(modelList, brandList); } /// /// 修改纸张 /// /// /// public bool UpdatePaper(IList modelList,IList brandList) { return _iPaperInfoDAL.UpdatePaper(modelList, brandList); } /// /// 获取有效的纸张列表 /// /// public IEnumerable GetPaperList() { IEnumerable paperList=_iPaperInfoDAL.GetPaperList(); IList tempList = new List(); SysInquiry_PaperInfo model = null; foreach (SysInquiry_PaperInfo paperModel in paperList) { model = new SysInquiry_PaperInfo(); model.PapeId = paperModel.PapeId; model.PaperName = paperModel.PaperName; if (!IsExistInPaperInfoList(tempList,model.PapeId)) tempList.Add(model); } return tempList; } /// /// 获取所有有效的纸张包括克重 /// /// public IEnumerable GetAllPaperList() { IEnumerable paperList = _iPaperInfoDAL.GetAllPaperList(); IList tempList = new List(); SysInquiry_PaperInfo model = null; foreach (SysInquiry_PaperInfo paperModel in paperList) { model = GetPaperModel(paperModel.PapeId); if (!IsExistInPaperInfoList(tempList, model.PapeId)) tempList.Add(GetPaperModel(paperModel.PapeId)); } return tempList; } /// /// 根据PaperId获取所有克重 /// /// /// public List GetPaperListBygramWeight(int paperId) { IEnumerable paperList = _iPaperInfoDAL.GetPaperList(); List gramWeightList = paperList.Where(p => p.PapeId == paperId).ToList(); return gramWeightList; } private bool IsExistInPaperInfoList(IList tempList, int papeId) { IList result = tempList.Where(p => p.PapeId == papeId).ToList(); return (result != null && result.Count > 0) ? true : false; } /// /// 获取纸张所有信息包含价格 /// /// public IEnumerable GetAllPaperPriceList(int paperId, int brandId, Guid inquiryId) { return _iPaperInfoDAL.GetAllPaperPriceList(paperId, brandId, inquiryId); } /// /// 获取纸张的默认品牌ID /// /// /// public int GetDefaultBrandByPaperId(int paperId) { SysInquiry_PaperInfo model = GetPaperModel(paperId); return model.DefaultBrandId.Value; } /// /// 根据纸张Id和品牌ID保存纸价 /// /// /// public bool SavePaperPrice(List modelList, InquiryCondition inquiryCondition) { return _iPaperInfoDAL.SavePaperPrice(modelList,inquiryCondition); } /// /// 获取纸张的吨价 /// /// /// /// /// /// public decimal GetTonsOfPrice(int paperId, int gramWeight, int brandId, Guid inquiryId) { return _iPaperInfoDAL.GetTonsOfPrice(paperId, gramWeight, brandId, inquiryId); } /// /// 获取纸张的品牌列表,第一个是默认品牌 /// /// /// public IList GetBrandInfoByPaper(int paperId) { return _iPaperInfoDAL.GetBrandInfoByPaper(paperId); } /// /// 获取纸张类型下的所有有效纸张 /// /// /// public IEnumerable GetPaperListByPaperType(int paperTypeId) { return _iPaperInfoDAL.GetPaperListByPaperType(paperTypeId); } } }