Files
monorepo/LCU.API.Internal.OnlineLoanApp/CRIF.ACTion/Services/Landmark/ProductIdService.cs
T
2026-03-11 11:18:25 -05:00

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."),
};
}
}
}