コード例 #1
0
        /// <inheritdoc />
        /// <summary>
        /// Gets the transaction.
        /// </summary>
        /// <param name="umbracoContext">The umbraco context.</param>
        /// <param name="transactionId">The transaction identifier.</param>
        /// <returns></returns>
        public BraintreeTransactionViewModel GetTransactionViewModel(
            UmbracoContext umbracoContext,
            string transactionId)
        {
            loggingService.Info(GetType(), "EncryptedTransactionId=" + transactionId);

            PaymentSettingsModel model = paymentProvider.GetPaymentSettingsModel(umbracoContext);

            transactionsRepository.SetKey(umbracoContext);

            bool exists = transactionsRepository.Exists();

            if (exists)
            {
                IEnumerable <BraintreeTransactionViewModel> viewModels = transactionsRepository.Get <IEnumerable <BraintreeTransactionViewModel> >();

                BraintreeTransactionViewModel viewModel = viewModels.FirstOrDefault(x => x.Id == transactionId);

                if (viewModel != null)
                {
                    return(viewModel);
                }
            }

            Transaction transaction = paymentProvider.GetTransaction(model, transactionId);

            return(transactionTranslator.Translate(transaction));
        }