278 lines
6.6 KiB
C#
278 lines
6.6 KiB
C#
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);
|
|
}
|
|
}
|
|
}
|