This commit is contained in:
Zeeshaun
2026-03-17 09:53:09 -05:00
parent cdcba54aa4
commit 1a0702a79a
590 changed files with 62058 additions and 0 deletions
@@ -0,0 +1,277 @@
using System.Collections.Generic;
using LCU.Library.Internal.IncentiveApiModels.Enums;
namespace LCU.Library.Internal.IncentiveApiModels.Entities
{
public class ProductDetail
{
private ProductDetail(
Product product,
string title,
ProductValue valueType,
int minValue,
int maxValue,
bool hasGoals,
bool hasCommissions,
bool isSellable,
bool isReferrable,
bool isNonPaying
)
{
Product = product;
Title = title;
ValueType = valueType;
MinValue = minValue;
MaxValue = maxValue;
HasGoals = hasGoals;
HasCommissions = hasCommissions;
IsSellable = isSellable;
IsReferrable = isReferrable;
IsNonPaying = isNonPaying;
}
public Product Product { get; }
public string Title { get; }
public ProductValue ValueType { get; }
public int MinValue { get; }
public int MaxValue { get; }
public bool HasGoals { get; }
public bool HasCommissions { get; }
public bool IsSellable { get; }
public bool IsReferrable { get; }
public bool IsNonPaying { get; }
public static readonly ProductDetail ATMCard = new(
Product.ATMCard,
"ATM Card",
ProductValue.Numeric,
1,
99,
false,
true,
false,
true,
true
);
public static readonly ProductDetail CheckCard = new(
Product.CheckCard,
"Check Card",
ProductValue.Numeric,
1,
99,
false,
true,
false,
true,
true
);
public static readonly ProductDetail CreditCard = new(
Product.CreditCard,
"Credit Card",
ProductValue.Numeric,
1,
99,
true,
true,
true,
true,
false
);
public static readonly ProductDetail CreditCardBalanceTransfer = new(
Product.CreditCardBalanceTransfer,
"CCBT",
ProductValue.Numeric,
1,
99,
false,
true,
false,
true,
false
);
public static readonly ProductDetail DebtProtection = new(
Product.DebtProtection,
"Debt Protection",
ProductValue.Numeric,
1,
99,
false,
true,
true,
false,
false
);
public static readonly ProductDetail DebtProtectionEligibleLoan = new(
Product.DebtProtectionEligibleLoan,
"DP Eligible Loan",
ProductValue.Numeric,
1,
99,
false,
false,
true,
false,
true
);
public static readonly ProductDetail DirectDeposit = new(
Product.DirectDeposit,
"Direct Deposit",
ProductValue.Numeric,
1,
99,
false,
true,
false,
true,
false
);
public static readonly ProductDetail eStatement = new(
Product.eStatement,
"eStatement",
ProductValue.Numeric,
1,
99,
false,
true,
false,
true,
false
);
public static readonly ProductDetail FirstMortgageReferral = new(
Product.FirstMortgageReferral,
"First Mortgage Referral",
ProductValue.Numeric,
1,
99,
false,
true,
false,
true,
false
);
public static readonly ProductDetail GAPInsurance = new(
Product.GAPInsurance,
"GAPInsurance",
ProductValue.Numeric,
1,
99,
false,
true,
true,
false,
false
);
public static readonly ProductDetail LIC = new(
Product.LIC,
"LIC",
ProductValue.Numeric,
1,
99,
true,
true,
false,
true,
false
);
public static readonly ProductDetail MechanicalBreakdownProtection = new(
Product.MechanicalBreakdownProtection,
"MBP",
ProductValue.Numeric,
1,
99,
false,
true,
true,
false,
false
);
public static readonly ProductDetail Mortgage = new(
Product.Mortgage,
"Mortgage",
ProductValue.Monetary,
1,
99999999,
true,
true,
true,
true,
false
);
public static readonly ProductDetail NewChecking = new(
Product.NewChecking,
"New Checking",
ProductValue.Numeric,
1,
99,
true,
true,
true,
true,
false
);
public static readonly ProductDetail Unknown = new(
Product.Unknown,
"Unknown",
ProductValue.Unknown,
1,
99,
false,
false,
false,
false,
false
);
public static readonly ProductDetail Vehicle = new(
Product.Vehicle,
"Vehicle",
ProductValue.Numeric,
1,
99,
true,
true,
true,
true,
false
);
public static readonly List<ProductDetail> ProductDetails = new()
{
ATMCard,
CheckCard,
CreditCard,
CreditCardBalanceTransfer,
DebtProtection,
DebtProtectionEligibleLoan,
DirectDeposit,
eStatement,
FirstMortgageReferral,
GAPInsurance,
LIC,
MechanicalBreakdownProtection,
Mortgage,
NewChecking,
Unknown,
Vehicle
};
public static ProductDetail DetailsForProduct(Product product)
{
return ProductDetails.Find(x => x.Product == product);
}
}
}