39 lines
1.7 KiB
C#
39 lines
1.7 KiB
C#
using CRIF.ACTion.Configuration;
|
|
using Landmark.OLA.Models.Loan;
|
|
using Landmark.OLA.Models.Loan.Enums;
|
|
|
|
namespace CRIF.ACTion.Services.Landmark
|
|
{
|
|
public class ProductIdService
|
|
{
|
|
private readonly CrifSettings _settings;
|
|
|
|
public ProductIdService(CrifSettings settings)
|
|
{
|
|
_settings = settings;
|
|
}
|
|
|
|
public int GetProductId(LoanType loanType)
|
|
{
|
|
return loanType switch
|
|
{
|
|
LoanType.CC_CashBack => _settings.ProductIds.CC_CashBack,
|
|
LoanType.CC_Rewards => _settings.ProductIds.CC_Rewards,
|
|
LoanType.CC_Student => _settings.ProductIds.CC_Student,
|
|
LoanType.CC_Secure => _settings.ProductIds.CC_Secure,
|
|
LoanType.EQ_HELOC_Flex => _settings.ProductIds.EQ_HELOC_Flex,
|
|
LoanType.EQ_Home_Equity_Fixed => _settings.ProductIds.EQ_Home_Equity_Fixed,
|
|
LoanType.EQ_Mtg_Refi_Express => _settings.ProductIds.EQ_Mtg_Refi_Express,
|
|
LoanType.EQ_Mfg_Home_With_or_Without_Land => _settings.ProductIds.EQ_Mfg_Home_And_Land,
|
|
LoanType.V_Vehicle => _settings.ProductIds.V_Vehicle,
|
|
LoanType.V_VehiclePreapproval => _settings.ProductIds.V_VehiclePreapproval,
|
|
LoanType.M_Boat => _settings.ProductIds.M_Boat,
|
|
LoanType.P_Powersport => _settings.ProductIds.P_Powersport,
|
|
LoanType.T_TrailerMotorhome => _settings.ProductIds.T_TrailerMotorhome,
|
|
LoanType.S_Signature or LoanType.S_Special => _settings.ProductIds.S_Signature,
|
|
_ => throw new ArgumentOutOfRangeException(nameof(LoanApplication.LoanType), $"The requested loan type {loanType} is not implemented."),
|
|
};
|
|
}
|
|
}
|
|
}
|