/// <summary>
            /// Issues loyalty card from AX.
            /// </summary>
            /// <param name="request">The issue loyalty card request.</param>
            /// <returns>The issue loyalty card response.</returns>
            private static IssueLoyaltyCardRealtimeResponse IssueLoyaltyCard(IssueLoyaltyCardRealtimeRequest request)
            {
                var transactionService = new TransactionService.TransactionServiceClient(request.RequestContext);

                LoyaltyCard loyaltyCard = transactionService.IssueLoyaltyCard(
                    request.LoyaltyCardNumber,
                    request.LoyaltyCardTenderType,
                    request.PartyRecordId,
                    request.ChannelId);

                return(new IssueLoyaltyCardRealtimeResponse(loyaltyCard));
            }
示例#2
0
            /// <summary>
            /// Gets the transactions for a loyalty card.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>The response containing the loyalty card transactions.</returns>
            private static IssueLoyaltyCardServiceResponse IssueLoyaltyCard(IssueLoyaltyCardServiceRequest request)
            {
                var serviceRequest = new IssueLoyaltyCardRealtimeRequest(
                    request.LoyaltyCardNumber,
                    request.LoyaltyCardTenderType,
                    request.PartyRecordId,
                    request.ChannelId);

                IssueLoyaltyCardRealtimeResponse serviceResponse = request.RequestContext.Execute <IssueLoyaltyCardRealtimeResponse>(serviceRequest);
                LoyaltyCard loyaltyCard = serviceResponse.LoyaltyCard;

                if (loyaltyCard != null && loyaltyCard.PartyRecordId != 0)
                {
                    loyaltyCard.CustomerAccount = request.CustomerAccountNumber;
                }

                // Insert the issue loyalty card into the channel database
                var insertLoyaltyCardDataRequest = new InsertLoyaltyCardDataRequest(loyaltyCard);

                request.RequestContext.Execute <NullResponse>(insertLoyaltyCardDataRequest);

                return(new IssueLoyaltyCardServiceResponse(loyaltyCard));
            }