private PaymentToBookingDto GetPaymentToBookingParam(RefundOriginalPaymentDto parameter, decimal amountToRefundPending, PaymentDto validPayment) { var paymentMethodType = validPayment.PaymentMethodType; var paymentToBookingParam = new PaymentToBookingDto() { Signature = parameter.Signature, BalanceDue = -amountToRefundPending, CurrencyCode = validPayment.CurrencyCode, AccountNumber = validPayment.AccountNumber, IsCreditFile = false, PaymentMethodType = paymentMethodType, PaymentMethodCode = validPayment.PaymentMethodCode, PaymentText = CommentConst, ExpirationDate = validPayment.Expiration, PaymentFields = validPayment.PaymentFieldsList, ParentPaymentId = validPayment.PaymentId, AccountNumberId = validPayment.AccountNumberId }; if (paymentMethodType == PaymentMethodType.ExternalAccount || paymentMethodType == PaymentMethodType.PrePaid) { paymentToBookingParam.AccountNumberId = validPayment.AccountNumberId; paymentToBookingParam.ExpirationDate = validPayment.Expiration; } return(paymentToBookingParam); }
private decimal TryAddPayment(RefundOriginalPaymentDto parameter, decimal amountToRefundInCurrentPayment, PaymentDto validPayment) { var amountRefunded = decimal.Zero; try { AddPayment(GetPaymentToBookingParam(parameter, amountToRefundInCurrentPayment, validPayment)); amountRefunded += amountToRefundInCurrentPayment; } catch (Exception ex) { var errorMessage = $@"Error in: {GetType().Name}, method : Balance, booking: {parameter.Booking.RecordLocator}, innerExceptionType: {ex.GetType()}, innerExceptionMessage: {ex.Message}"; Trace.TraceError(errorMessage, ex); } return(amountRefunded); }