using System;
|
using System.Collections.Generic;
|
using System.Linq;
|
using System.Text;
|
using CY.IDAL;
|
using AbstractFactory;
|
using CY.Model;
|
using CY.BLL.EC;
|
|
namespace CY.BLL.Sys
|
{
|
/// <summary>
|
/// 字典表业务逻辑操作类
|
/// </summary>
|
public class SysInquiry_PrintingTypeBLL
|
{
|
|
private ISysInquiry_PrintingTypeDAL _sysInquiry_PrintingTypeDal;//字典表数据访问服务接口
|
|
EC_SellerBusinessLimitsBLL _eC_SellerBusinessLimitsBLL = null;
|
|
/// <summary>
|
/// 初始化
|
/// </summary>
|
public SysInquiry_PrintingTypeBLL()
|
{
|
_sysInquiry_PrintingTypeDal = Factory.GetDALByInterfaceName(DALInterface.ISysInquiry_PrintingTypeDAL) as ISysInquiry_PrintingTypeDAL;//获取数据访问接口实现对象
|
_eC_SellerBusinessLimitsBLL = new EC_SellerBusinessLimitsBLL();
|
}
|
|
/// <summary>
|
/// 添加数据
|
/// </summary>
|
/// <param name="dicInfo"></param>
|
/// <returns></returns>
|
public bool AddData(SysInquiry_PrintingType dicInfo)
|
{
|
return _sysInquiry_PrintingTypeDal.InserModel(dicInfo);
|
}
|
|
/// <summary>
|
/// 更新数据
|
/// </summary>
|
/// <param name="dicInfo"></param>
|
/// <returns></returns>
|
public bool UpdataData(SysInquiry_PrintingType dicInfo)
|
{
|
return _sysInquiry_PrintingTypeDal.UpdateModel(dicInfo);
|
}
|
|
/// <summary>
|
/// 删除数据
|
/// </summary>
|
/// <param name="dicInfo"></param>
|
/// <returns></returns>
|
public bool DeleteData(SysInquiry_PrintingType dicInfo)
|
{
|
return _sysInquiry_PrintingTypeDal.DeleteModel(dicInfo);
|
}
|
|
/// <summary>
|
/// 获取有效的印刷业务类型
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModles()
|
{
|
return _sysInquiry_PrintingTypeDal.SelectUsedModles();
|
}
|
|
/// <summary>
|
/// 排序获取有效的印刷业务类型
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByIndex()
|
{
|
return _sysInquiry_PrintingTypeDal.SelectUsedModlesByIndex();
|
}
|
|
|
/// <summary>
|
/// 获取某个厂商有效的印刷业务类型
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByFirm(Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> list = _sysInquiry_PrintingTypeDal.SelectUsedModles();
|
list = list.Where(p => _eC_SellerBusinessLimitsBLL.IsUsed(p.KeyId, firmId));
|
return list;
|
}
|
|
/// <summary>
|
/// 获取某个厂商有效的印刷业务类型的父类型列表
|
/// </summary>
|
/// <returns></returns>
|
public IList<SysInquiry_PrintingType> SelectParentModelListByFirm(Guid firmId)
|
{
|
IList<SysInquiry_PrintingType> parentTypeList = new List<SysInquiry_PrintingType>();
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesByFirm(firmId);
|
if (childTypeList != null && childTypeList.Count() > 0)
|
{
|
foreach (SysInquiry_PrintingType child in childTypeList)
|
{
|
SysInquiry_PrintingType parent = GetModelById(child.ParentId.Value);
|
if (!IsExist(parentTypeList, parent.KeyId))
|
parentTypeList.Add(parent);
|
}
|
}
|
return parentTypeList;
|
}
|
|
/// <summary>
|
/// 根据父类型获取有效且特殊的印刷业务类型(用于纸张配置)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByFirm(int parentId, Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesByFirm(firmId).Where(p => p.ParentId == parentId);
|
return childTypeList;
|
}
|
|
|
|
/// <summary>
|
/// 获取有效且特殊的印刷业务类型(用于纸张配置)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesBySpecial()
|
{
|
return _sysInquiry_PrintingTypeDal.SelectUsedModles().Where(p => p.KeyId != 13 && p.KeyId != 31 && p.KeyId != 32 && p.KeyId != 34 && p.KeyId != 36 && p.KeyId != 17 && p.KeyId != 33 && p.KeyId != 18 && p.KeyId != 19);
|
}
|
|
/// <summary>
|
/// 获取有效且特殊的印刷业务类型的父类型列表(用于纸张配置)
|
/// </summary>
|
/// <returns></returns>
|
public IList<SysInquiry_PrintingType> SelectParentModelListBySpecial()
|
{
|
IList<SysInquiry_PrintingType> parentTypeList=new List<SysInquiry_PrintingType>();
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesBySpecial();
|
if (childTypeList != null && childTypeList.Count() > 0)
|
{
|
foreach (SysInquiry_PrintingType child in childTypeList)
|
{
|
SysInquiry_PrintingType parent = GetModelById(child.ParentId.Value);
|
if (!IsExist(parentTypeList,parent.KeyId))
|
parentTypeList.Add(parent);
|
}
|
}
|
return parentTypeList;
|
}
|
|
/// <summary>
|
/// 判断父类型中是否已存在
|
/// </summary>
|
/// <param name="parentTypeList"></param>
|
/// <param name="keyId"></param>
|
/// <returns></returns>
|
private bool IsExist(IList<SysInquiry_PrintingType> parentTypeList, int keyId)
|
{
|
if (parentTypeList == null || parentTypeList.Count == 0)
|
return false;
|
IList<SysInquiry_PrintingType> resultList = parentTypeList.Where(p => p.KeyId == keyId).ToList<SysInquiry_PrintingType>();
|
if (resultList != null && resultList.Count > 0)
|
{
|
return true;
|
}
|
else
|
{
|
return false;
|
}
|
}
|
|
/// <summary>
|
/// 根据父类型获取有效且特殊的印刷业务类型(用于纸张配置)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesBySpecial(int parentId)
|
{
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesBySpecial().Where(p => p.ParentId == parentId);
|
return childTypeList;
|
}
|
|
|
|
/// <summary>
|
/// 获取有效且特殊的印刷业务类型(用于后道消耗)
|
/// </summary>
|
/// <param name="firmId"></param>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByAfterConsumption(Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> list = _sysInquiry_PrintingTypeDal.SelectUsedModles().Where(p => p.KeyId != 13 && p.KeyId != 31 && p.KeyId != 32 && p.KeyId != 34 && p.KeyId != 36&&p.KeyId!=17&&p.KeyId!=33&&p.KeyId!=35);
|
list = list.Where(p => _eC_SellerBusinessLimitsBLL.IsUsedBySpecialFlag(p.KeyId, firmId));
|
return list;
|
}
|
|
/// <summary>
|
/// 获取有效且特殊的印刷业务类型的父类型列表(用于后道消耗)
|
/// </summary>
|
/// <returns></returns>
|
public IList<SysInquiry_PrintingType> SelectParentModelListByAfterConsumption(Guid firmId)
|
{
|
IList<SysInquiry_PrintingType> parentTypeList = new List<SysInquiry_PrintingType>();
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesByAfterConsumption(firmId);
|
if (childTypeList != null && childTypeList.Count() > 0)
|
{
|
foreach (SysInquiry_PrintingType child in childTypeList)
|
{
|
SysInquiry_PrintingType parent = GetModelById(child.ParentId.Value);
|
if (!IsExist(parentTypeList, parent.KeyId))
|
parentTypeList.Add(parent);
|
}
|
}
|
return parentTypeList;
|
}
|
|
/// <summary>
|
/// 根据父类型获取有效且特殊的印刷业务类型(用于后道消耗)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByAfterConsumption(int parentId, Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesByAfterConsumption(firmId).Where(p => p.ParentId == parentId);
|
return childTypeList;
|
}
|
|
/// <summary>
|
/// 获取有效且特殊的印刷业务类型(用于后道设置)
|
/// </summary>
|
/// <param name="firmId"></param>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByAfterSet(Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> list = _sysInquiry_PrintingTypeDal.SelectUsedModles().Where(p => p.KeyId != 32 && p.KeyId != 34 && p.KeyId != 17 && p.KeyId != 18 && p.KeyId != 19);
|
list = list.Where(p => _eC_SellerBusinessLimitsBLL.IsUsed(p.KeyId, firmId));
|
return list;
|
}
|
|
/// <summary>
|
/// 获取有效且特殊的印刷业务类型的父类型列表(用于后道设置)
|
/// </summary>
|
/// <returns></returns>
|
public IList<SysInquiry_PrintingType> SelectParentModelListByAfterSet(Guid firmId)
|
{
|
IList<SysInquiry_PrintingType> parentTypeList = new List<SysInquiry_PrintingType>();
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesByAfterSet(firmId);
|
if (childTypeList != null && childTypeList.Count() > 0)
|
{
|
foreach (SysInquiry_PrintingType child in childTypeList)
|
{
|
SysInquiry_PrintingType parent = GetModelById(child.ParentId.Value);
|
if (!IsExist(parentTypeList, parent.KeyId))
|
parentTypeList.Add(parent);
|
}
|
}
|
return parentTypeList;
|
}
|
|
/// <summary>
|
/// 根据父类型获取有效且特殊的印刷业务类型(用于后道消耗)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByAfterSet(int parentId, Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> childTypeList = SelectUsedModlesByAfterSet(firmId).Where(p => p.ParentId == parentId);
|
return childTypeList;
|
}
|
|
/// <summary>
|
/// 获取有效的合版印刷业务类型
|
/// </summary>
|
/// <param name="firmId"></param>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesByJoin(Guid firmId)
|
{
|
IEnumerable<SysInquiry_PrintingType> list = SelectUsedModles();
|
list = list.Where(p => p.JoinFlag == 1);
|
list = list.Where(p => _eC_SellerBusinessLimitsBLL.IsUsedByJoin(p.KeyId, firmId));
|
return list;
|
}
|
|
|
|
|
/// <summary>
|
/// 根据keyId获取印刷类型
|
/// </summary>
|
/// <param name="printTypeId"></param>
|
/// <returns></returns>
|
public SysInquiry_PrintingType GetModelById(int keyId)
|
{
|
return _sysInquiry_PrintingTypeDal.GetModelById(keyId);
|
}
|
|
|
/// <summary>
|
/// 获取所有有效的印刷类型(包含父)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> GetAllModelList()
|
{
|
return _sysInquiry_PrintingTypeDal.GetAllModelList();
|
}
|
|
/// <summary>
|
/// 获取所有有效的一级类别
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> GetModelListByParent()
|
{
|
IEnumerable<SysInquiry_PrintingType> typeList = _sysInquiry_PrintingTypeDal.GetAllModelList().Where(p => p.ParentId == 0);
|
return typeList;
|
}
|
/// <summary>
|
/// 获取有效的一级类别下的所有类别
|
/// </summary>
|
/// <param name="parentId"></param>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> GetModelListByParent(int parentId)
|
{
|
IEnumerable<SysInquiry_PrintingType> typeList = _sysInquiry_PrintingTypeDal.GetAllModelList().Where(p => p.ParentId == parentId);
|
return typeList;
|
}
|
|
/// <summary>
|
/// 获取所有有效首页使用的印刷类型列表
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> GetModelListByHome()
|
{
|
IEnumerable<SysInquiry_PrintingType> typeList = _sysInquiry_PrintingTypeDal.SelectUsedModles().Where(p => p.KeyId!=17&&p.KeyId!=34&&p.KeyId!=36);
|
return typeList;
|
}
|
|
/// <summary>
|
/// 获取有效的印刷业务类型(首页)
|
/// </summary>
|
/// <returns></returns>
|
public IEnumerable<SysInquiry_PrintingType> SelectUsedModlesHome()
|
{
|
IEnumerable<SysInquiry_PrintingType> typeList = _sysInquiry_PrintingTypeDal.SelectUsedModlesHome().Where(p => p.KeyId != 25 && p.KeyId != 26 && p.KeyId != 35&& p.KeyId != 29 && p.KeyId != 32);
|
return typeList;
|
}
|
}
|
}
|