예제 #1
0
            /// <summary>
            /// Captures the payment.
            /// </summary>
            /// <param name="request">The request.</param>
            /// <returns>A response containing the captured tender line.</returns>
            private static CapturePaymentServiceResponse CapturePayment(CapturePaymentServiceRequest request)
            {
                if (request == null)
                {
                    throw new ArgumentNullException("request");
                }

                if (request.RequestContext == null)
                {
                    throw new ArgumentException("request.RequestContext cannot be null.");
                }

                // Post redeem type reward point trans to HQ.
                var redeemLoyaltyRewardPointServiceRequest = new PostLoyaltyCardRewardPointRealtimeRequest(LoyaltyRewardPointEntryType.Redeem, request.Transaction);

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

                var refundLoyaltyRewardPointServiceRequest = new PostLoyaltyCardRewardPointRealtimeRequest(LoyaltyRewardPointEntryType.Refund, request.Transaction);

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

                request.TenderLine.Status     = TenderLineStatus.Committed;
                request.TenderLine.IsVoidable = false;

                return(new CapturePaymentServiceResponse(request.TenderLine));
            }
            /// <summary>
            /// Posts loyalty card reward point transaction in AX.
            /// </summary>
            /// <param name="request">The post loyalty card reward point transaction request.</param>
            /// <returns>A loyalty card reward point transaction response.</returns>
            private static NullResponse PostLoyaltyCardRewardPointTransaction(PostLoyaltyCardRewardPointRealtimeRequest request)
            {
                var transactionService = new TransactionService.TransactionServiceClient(request.RequestContext);

                transactionService.PostLoyaltyCardRewardPointTrans(
                    request.Transaction,
                    request.EntryType,
                    request.RequestContext.GetChannelConfiguration());

                return(new NullResponse());
            }
예제 #3
0
            private static NullResponse PostLoyaltyCardRewardPoint(PostLoyaltyCardRewardPointRealtimeRequest postLoyaltyCardRewardPointService)
            {
                ThrowIf.Null(postLoyaltyCardRewardPointService, "postLoyaltyCardRewardPointService");

                return(new NullResponse());
            }