using System; namespace GoodBooks.PAY.PAYDAL.DTO.Loyalty { /// /// Maps to MLOYALTYEARNCFG — earn-rule configuration for a loyalty program. /// Higher-priority rules (specific gateway / tier / product) override global rules /// when the BLL resolves the applicable rule at earn-time. /// public class LoyaltyEarnCfgDTO { #region PrivateMembers private int loyaltyearncfgid; private int loyaltyprogramid; private string rulename; private byte ruletype; private int referenceid; private decimal earnpoints; private DateTime validfrom; private DateTime? validto; private string remarks; private short version; private byte status; private short sortorder; private int createdbyid; private DateTime createdon; private int modifiedbyid; private DateTime modifiedon; private byte sourcetype; private int tenantid; #endregion #region PublicProperties public int LoyaltyEarnCfgId { get { return loyaltyearncfgid; } set { loyaltyearncfgid = value; } } public int LoyaltyProgramId { get { return loyaltyprogramid; } set { loyaltyprogramid = value; } } public string RuleName { get { return rulename; } set { rulename = value; } } /// 1=Global, 2=ByCategory, 3=ByGateway, 4=ByTier, 5=ByProduct public byte RuleType { get { return ruletype; } set { ruletype = value; } } /// /// Reference entity ID relevant to the RuleType /// (CategoryId, PayGatewayId, LoyaltyTierId, or ProductId). /// Defaults to -1 for Global rules where no reference entity applies. /// public int ReferenceId { get { return referenceid; } set { referenceid = value; } } /// Points awarded per unit of currency for orders matching this rule. public decimal EarnPoints { get { return earnpoints; } set { earnpoints = value; } } public DateTime ValidFrom { get { return validfrom; } set { validfrom = value; } } /// NULL means the rule never expires. public DateTime? ValidTo { get { return validto; } set { validto = value; } } public string Remarks { get { return remarks; } set { remarks = value; } } public short Version { get { return version; } set { version = value; } } public byte Status { get { return status; } set { status = value; } } public short SortOrder { get { return sortorder; } set { sortorder = value; } } public int CreatedById { get { return createdbyid; } set { createdbyid = value; } } public DateTime CreatedOn { get { return createdon; } set { createdon = value; } } public int ModifiedById { get { return modifiedbyid; } set { modifiedbyid = value; } } public DateTime ModifiedOn { get { return modifiedon; } set { modifiedon = value; } } public byte SourceType { get { return sourcetype; } set { sourcetype = value; } } public int TenantId { get { return tenantid; } set { tenantid = value; } } #endregion } }