/// <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)); }
/// <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)); }