Files
zszq-trs/YLErpDAL/BLL/GenerateDocument/GenerateContractFactory.cs
T
2024-05-09 14:06:26 +08:00

39 lines
1.4 KiB
C#

using YLErp.DBModels.Consts;
namespace YLErp.BLL.GenerateDocument
{
public class BatchGenerateFactory
{
public static BatchGenerateDocs GetInstance(IEnumerable<int> tradeIds, int optId,
string optName, string contractTypeEnum, string docType = FileTypeEnum.Pdf, List<int> tradeCashIds = null)
{
string className = "";
switch (contractTypeEnum)
{
case ContractTypeEnum.Trade:
className = "BatchGenerateConfirmBook";
break;
case ContractTypeEnum.Clearing:
className = "BatchGenerateSettleBill";
break;
case ContractTypeEnum.UnWind:
className = "BatchGenerateUnwindReport";
break;
}
var typeFullName = $"YLErp.BLL.GenerateDocument.{PS.Config.CompanyAbbreviation}.{className}";
var type = Type.GetType(typeFullName, false, true);
if (type == null)
{
typeFullName = $"YLErp.BLL.GenerateDocument.General{className}";
type = Type.GetType(typeFullName, false, true);
}
if (type == null)
{
throw new ServiceException("此功能暂不支持");
}
return Activator.CreateInstance(type, tradeIds, docType, optId, optName, tradeCashIds) as BatchGenerateDocs;
}
}
}