using System; using System.Collections.Generic; namespace GoodBooks.PAY.PAYDAL.DTO.Loyalty { /// /// Maps to MLOYALTYPROGRAM (header) with embedded child arrays. /// Child arrays are populated by the DAL before serialisation. /// public class LoyaltyProgramDTO { #region PrivateMembers private int loyaltyprogramid; private string programcode; private string programname; private byte programtype; private string pointsname; private short pointsexpiredays; private decimal minredeempoints; private decimal pointstocurrency; private decimal currencytopoints; private byte allowtiering; 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; private List loyaltytierarray = new List(); private List loyaltyearncfgarray = new List(); #endregion #region PublicProperties public int LoyaltyProgramId { get { return loyaltyprogramid; } set { loyaltyprogramid = value; } } public string ProgramCode { get { return programcode; } set { programcode = value; } } public string ProgramName { get { return programname; } set { programname = value; } } /// 1=B2B, 2=B2C, 3=Custom public byte ProgramType { get { return programtype; } set { programtype = value; } } /// Display label for points (e.g. "Stars", "Coins"). public string PointsName { get { return pointsname; } set { pointsname = value; } } /// Days after which earned points expire. 0 = never. public short PointsExpireDays { get { return pointsexpiredays; } set { pointsexpiredays = value; } } /// Minimum points required before a redemption is allowed. public decimal MinRedeemPoints { get { return minredeempoints; } set { minredeempoints = value; } } /// Conversion rate: how much currency 1 point is worth. public decimal PointsToCurrency { get { return pointstocurrency; } set { pointstocurrency = value; } } /// Conversion rate: how many points 1 unit of currency earns. public decimal CurrencyToPoints { get { return currencytopoints; } set { currencytopoints = value; } } /// 0=No tiering, 1=Tiering enabled. public byte AllowTiering { get { return allowtiering; } set { allowtiering = 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; } } /// Tier definitions for this program. Empty when AllowTiering=0. public List LoyaltyTierArray { get { return loyaltytierarray; } set { loyaltytierarray = value; } } /// Earn rules for this program. public List LoyaltyEarnCfgArray { get { return loyaltyearncfgarray; } set { loyaltyearncfgarray = value; } } #endregion } }