public static LoyaltyGroupInfo GetInfo(LoyaltyGroup type) { int v = (int)type; if (v < 0 || v >= m_Table.Length) { v = 0; } return(m_Table[v]); }
/// <summary> /// Issues a new loyalty card. /// </summary> /// <param name="loyaltyCardNumber">The loyalty card number.</param> /// <param name="cardTenderType">The loyalty card tender type.</param> /// <param name="partyRecordId">The record identifier of the party of the card owner.</param> /// <param name="channelRecordId">The record identifier of the channel.</param> /// <returns>The created loyalty card.</returns> public LoyaltyCard IssueLoyaltyCard(string loyaltyCardNumber, LoyaltyCardTenderType cardTenderType, long partyRecordId, long channelRecordId) { var parameters = new object[] { loyaltyCardNumber, (int)cardTenderType, partyRecordId, channelRecordId }; var data = this.InvokeMethod(IssueLoyaltyCardMethodName, parameters); // Translate the result data into a loyalty card object with card tiers. var cardData = (object[])data[0]; var cardTierListData = (object[])data[1]; var loyaltyCard = new LoyaltyCard(); loyaltyCard.RecordId = (long)cardData[0]; loyaltyCard.CardNumber = (string)cardData[1]; loyaltyCard.CardTenderType = (LoyaltyCardTenderType)cardData[2]; loyaltyCard.PartyRecordId = (long)cardData[3]; foreach (var cardTierListDataRow in cardTierListData) { var cardTierData = (object[])cardTierListDataRow; long loyaltyGroupRecordId = (long)cardTierData[1]; LoyaltyGroup loyaltyGroup = loyaltyCard.LoyaltyGroups.SingleOrDefault(lg => lg.RecordId == loyaltyGroupRecordId); if (loyaltyGroup == null) { loyaltyGroup = new LoyaltyGroup(); loyaltyGroup.RecordId = loyaltyGroupRecordId; loyaltyCard.LoyaltyGroups.Add(loyaltyGroup); } var cardTier = new LoyaltyCardTier(); cardTier.RecordId = (long)cardTierData[0]; cardTier.LoyaltyTierRecordId = (long)cardTierData[3]; cardTier.ValidFrom = string.IsNullOrWhiteSpace(cardTierData[4].ToString()) ? DateTimeOffset.MinValue : Convert.ToDateTime(cardTierData[4]); cardTier.ValidTo = string.IsNullOrWhiteSpace(cardTierData[5].ToString()) ? DateTimeOffset.MaxValue : Convert.ToDateTime(cardTierData[5]); loyaltyGroup.LoyaltyCardTiers.Add(cardTier); } return(loyaltyCard); }
public LoyaltyReward(LoyaltyGroup loyaltyGroup, int amount) : base(null, amount, 1049594) // Loyalty Rating { m_LoyaltyGroup = loyaltyGroup; }
public void Award(LoyaltyGroup type, int value) { Award((int)type, value); }
public void SetValue(LoyaltyGroup type, int value) { SetValue((int)type, value); }
public int GetValue(LoyaltyGroup type) { return(GetValue((int)type)); }
/// <summary> /// Converts the loyalty card tier into a data row. /// </summary> /// <param name="table">The data table.</param> /// <param name="loyaltyCard">The loyalty card.</param> /// <param name="loyaltyGroup">The card loyalty group.</param> /// <param name="loyaltyCardTier">The loyalty card tier.</param> /// <returns>The data row.</returns> private static DataRow ConvertLoyaltyCardTierToDataRow(DataTable table, LoyaltyCard loyaltyCard, LoyaltyGroup loyaltyGroup, LoyaltyCardTier loyaltyCardTier) { DataRow row = table.NewRow(); row[LoyaltySqlServerDataService.RecIdColumn] = loyaltyCardTier.RecordId; row[LoyaltySqlServerDataService.AffiliationColumn] = loyaltyGroup.RecordId; row[LoyaltySqlServerDataService.LoyaltyCardColumn] = loyaltyCard.RecordId; row[LoyaltySqlServerDataService.LoyaltyTierColumn] = loyaltyCardTier.LoyaltyTierRecordId; row[LoyaltySqlServerDataService.ValidFromColumn] = loyaltyCardTier.ValidFrom.DateTime; row[LoyaltySqlServerDataService.ValidToColumn] = loyaltyCardTier.ValidTo.DateTime; return(row); }
public int GetValue( LoyaltyGroup type ) { return GetValue( (int) type ); }
public void Award( LoyaltyGroup type, int value ) { Award( (int) type, value ); }
public void SetValue( LoyaltyGroup type, int value ) { SetValue( (int) type, value ); }
// Loyalty Rating public LoyaltyReward( LoyaltyGroup loyaltyGroup, int amount ) : base(null, amount, 1049594) { m_LoyaltyGroup = loyaltyGroup; }
public static LoyaltyGroupInfo GetInfo( LoyaltyGroup type ) { int v = (int) type; if ( v < 0 || v >= m_Table.Length ) v = 0; return m_Table[v]; }