Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }