示例#1
0
        /// <summary>
        /// Remove a card from Visa
        /// </summary>
        /// <returns></returns>
        public async Task <ResultCode> RemoveCardAsync()
        {
            ResultCode result        = ResultCode.None;
            var        card          = (Card)Context[Key.Card];
            var        partnerCardId = card.PartnerCardInfoList.Where(p => p.PartnerId == Partner.Visa).Select(p => p.PartnerCardId).First();
            // Build a card register request object.
            var request = VisaRtmDataManager.GetDeleteCardRequest(GetVisaExternalUserId(), VisaConstants.CommunityName, partnerCardId);

            LogRequest("RemoveCard", request);

            // Invoke the partner to add the card.
            result = await PartnerUtilities.InvokePartner(Context, async() =>
            {
                var response = await VisaInvoker.RemoveCard(request);
                LogRequestResponse("RemoveCard", request, response, response.Success);

                // Determine the ResultCode from the response code.
                result = response.Success ? ResultCode.Success : ResultCode.UnknownError;

                return(result);
            }, null, Partner.None, true).ConfigureAwait(false);

            return(result);
        }