Пример #1
0
        /// <summary>
        /// Saves the transactions.
        /// </summary>
        /// <param name="transactions">The transactions.</param>
        /// <param name="marketPlaceId">The market place identifier.</param>
        /// <param name="historyId">The history identifier.</param>
        /// <exception cref="System.InvalidOperationException">could not save transactions</exception>
        private void SaveTransactions(IList <PayPal3dPartyTransactionItem> transactions, int marketPlaceId, int historyId)
        {
            if (transactions.Any())
            {
                return;
            }

            PayPalTransaction transaction = new PayPalTransaction {
                Created = DateTime.UtcNow,
                CustomerMarketPlaceId = marketPlaceId,
                CustomerMarketPlaceUpdatingHistoryRecordId = historyId
            };

            int transactionId = (int)PayPalQueries.SaveTransaction(transaction);

            if (transactionId < 1)
            {
                throw new InvalidOperationException("could not save paypal transactionItem");
            }

            var res = PayPalQueries.SaveTransactionItems(transactions.Select(t => CreateSingleTransaction(t, transactionId)));

            if (!res.HasValue || !res.Value)
            {
                throw new InvalidOperationException("could not save transactionItem items");
            }
        }