public static void FindPayment(Transaction transaction, IEnumerable <ListPaymentsFilterResult.Response.Payment> payments, IEnumerable <string> purposesFormats) { if (!transaction.DigisellerSellId.HasValue || transaction.PayMasterPaymentId.HasValue) { return; } IEnumerable <string> purposes = purposesFormats.Select(f => string.Format(f, transaction.DigisellerSellId.Value)); ListPaymentsFilterResult.Response.Payment payment = payments.SingleOrDefault(p => purposes.Contains(p.Purpose)); transaction.PayMasterPaymentId = payment?.PaymentId; }
internal Donation(ListPaymentsFilterResult.Response.Payment payment) { _name = payment.SiteInvoiceId; Date = payment.LastUpdateTime; Amount = payment.PaymentAmount; switch (payment.PaymentSystemId) { case 161: PayMethodInfo = Transaction.PayMethod.Sbp; break; case 162: PayMethodInfo = Transaction.PayMethod.BankCard; break; default: throw new ArgumentOutOfRangeException(); } PaymentId = payment.PaymentId; }