コード例 #1
0
ファイル: LoyaltyGroup.cs プロジェクト: uotools/xrunuo
        public static LoyaltyGroupInfo GetInfo(LoyaltyGroup type)
        {
            int v = (int)type;

            if (v < 0 || v >= m_Table.Length)
            {
                v = 0;
            }

            return(m_Table[v]);
        }
コード例 #2
0
            /// <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);
            }
コード例 #3
0
ファイル: BaseReward.cs プロジェクト: uotools/xrunuo
 public LoyaltyReward(LoyaltyGroup loyaltyGroup, int amount)
     : base(null, amount, 1049594)               // Loyalty Rating
 {
     m_LoyaltyGroup = loyaltyGroup;
 }
コード例 #4
0
ファイル: LoyaltyInfo.cs プロジェクト: uotools/xrunuo
 public void Award(LoyaltyGroup type, int value)
 {
     Award((int)type, value);
 }
コード例 #5
0
ファイル: LoyaltyInfo.cs プロジェクト: uotools/xrunuo
 public void SetValue(LoyaltyGroup type, int value)
 {
     SetValue((int)type, value);
 }
コード例 #6
0
ファイル: LoyaltyInfo.cs プロジェクト: uotools/xrunuo
 public int GetValue(LoyaltyGroup type)
 {
     return(GetValue((int)type));
 }
コード例 #7
0
            /// <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);
            }
コード例 #8
0
ファイル: LoyaltyInfo.cs プロジェクト: Ravenwolfe/xrunuo
 public int GetValue( LoyaltyGroup type )
 {
     return GetValue( (int) type );
 }
コード例 #9
0
ファイル: LoyaltyInfo.cs プロジェクト: Ravenwolfe/xrunuo
 public void Award( LoyaltyGroup type, int value )
 {
     Award( (int) type, value );
 }
コード例 #10
0
ファイル: LoyaltyInfo.cs プロジェクト: Ravenwolfe/xrunuo
 public void SetValue( LoyaltyGroup type, int value )
 {
     SetValue( (int) type, value );
 }
コード例 #11
0
ファイル: BaseReward.cs プロジェクト: Ravenwolfe/xrunuo
 // Loyalty Rating
 public LoyaltyReward( LoyaltyGroup loyaltyGroup, int amount )
     : base(null, amount, 1049594)
 {
     m_LoyaltyGroup = loyaltyGroup;
 }
コード例 #12
0
ファイル: LoyaltyGroup.cs プロジェクト: Ravenwolfe/xrunuo
        public static LoyaltyGroupInfo GetInfo( LoyaltyGroup type )
        {
            int v = (int) type;

            if ( v < 0 || v >= m_Table.Length )
                v = 0;

            return m_Table[v];
        }