コード例 #1
0
        private static ExchangePayment CreateExchangePayment(TransactionType tranType, decimal amount)
        {
            ExchangePayment retVal = new ExchangePayment();
            PaymentMethodDto paymentMethods = PaymentManager.GetPaymentMethods("en", true);

            foreach (PaymentMethodDto.PaymentMethodRow row in paymentMethods.PaymentMethod.Rows)
            {
                if (row.SystemKeyword == ExchangePayment.PaymentMethodSystemKeyword)
                {
                    retVal.PaymentMethodId = row.PaymentMethodId;
                    retVal.PaymentMethodName = row.Name;
                    break;
                }
            }

            retVal.Amount = amount;
            retVal.TransactionType = tranType.ToString();
            retVal.Status = PaymentStatus.Processed.ToString();

            return retVal;
        }
コード例 #2
0
        private static ExchangePayment CreateExchangePayment(TransactionType tranType, decimal amount)
        {
            ExchangePayment  retVal         = new ExchangePayment();
            PaymentMethodDto paymentMethods = PaymentManager.GetPaymentMethods("en", true);

            foreach (PaymentMethodDto.PaymentMethodRow row in paymentMethods.PaymentMethod.Rows)
            {
                if (row.SystemKeyword == ExchangePayment.PaymentMethodSystemKeyword)
                {
                    retVal.PaymentMethodId   = row.PaymentMethodId;
                    retVal.PaymentMethodName = row.Name;
                    break;
                }
            }

            retVal.Amount          = amount;
            retVal.TransactionType = tranType.ToString();
            retVal.Status          = PaymentStatus.Processed.ToString();

            return(retVal);
        }
コード例 #3
0
        public void CreateExchangePayments()
        {
            var origPurchaseOrder = ReturnOrderForm.Parent as PurchaseOrder;
            var origOrderForm     = origPurchaseOrder.OrderForms[0];
            var exchangeOrder     = ReturnExchangeManager.GetExchangeOrderForReturnForm(ReturnOrderForm);

            if (exchangeOrder != null)
            {
                var exchangeOrderForm = exchangeOrder.OrderForms[0];
                //Exchange payments
                //Credit exchange payment to original order
                decimal         paymentTotal          = Math.Min(ReturnOrderForm.Total, exchangeOrder.Total);
                ExchangePayment creditExchangePayment = CreateExchangePayment(TransactionType.Credit, paymentTotal);
                origOrderForm.Payments.Add(creditExchangePayment);

                //Debit exchange payment to exchange order
                ExchangePayment debitExchangePayment = CreateExchangePayment(TransactionType.Capture, paymentTotal);
                exchangeOrderForm.Payments.Add(debitExchangePayment);

                OrderStatusManager.RecalculatePurchaseOrder(exchangeOrder);
                exchangeOrder.AcceptChanges();
            }
        }