コード例 #1
0
        /// <summary>
        /// 保存退款信息
        /// </summary>
        /// <param name="paymentId"></param>
        private void SavePaymentReturn(string paymentId)
        {
            IList <string>   returnIDs     = new List <string>();
            To_PaymentReturn paymentReturn = new To_PaymentReturn();

            paymentReturn.PaymentID = paymentId;
            if (hidPayReturn.Value.Trim().TrimEnd('@') != string.Empty)
            {
                IEnumerable <string> returnList = hidPayReturn.Value.Trim().TrimEnd('@').Split('@').Where(x => x.Trim() != string.Empty);
                if (returnList.Count() > 0)
                {
                    foreach (string list in returnList)
                    {
                        string[] item = list.Split('$');
                        paymentReturn.orderRetID = int.Parse(item[0].Trim()); //订单退款信息明细表id
                        if (!returnIDs.Contains(item[0].Trim()))
                        {
                            returnIDs.Add(item[0].Trim());
                        }
                        paymentReturn.OrderNum     = item[1].Trim();               //订单编号
                        paymentReturn.ShouldReturn = double.Parse(item[2].Trim()); //应退金额
                        paymentReturn.ReturnAmount = double.Parse(item[3].Trim()); //本次退付金额

                        To_PaymentReturnManager.addTo_PaymentReturn(paymentReturn);
                    }
                }

                for (int i = 0; i < returnIDs.Count; i++)
                {
                    if (returnIDs[i] != "")
                    {
                        double hasAmount    = To_PaymentReturnManager.GetHasAmount(returnIDs[i]);                                   //得到该退款信息明细表关联的所有退过款的金额
                        double shouldAmount = To_OrderRefunDetialManager.getTo_OrderRefunDetialById(int.Parse(returnIDs[i])).Money; //得到应退金额
                        string getstatus    = "";
                        if (hasAmount == 0)
                        {
                            getstatus = "未退款";
                        }
                        else if (shouldAmount > hasAmount)
                        {
                            getstatus = "部分退款";
                        }
                        else
                        {
                            getstatus = "完成退款";
                        }

                        To_OrderRefunDetialManager.updateDetialStatusAndMoney(returnIDs[i], getstatus, hasAmount.ToString());
                    }
                }
            }
        }
コード例 #2
0
        /// <summary>
        /// 得到可退款金额
        /// </summary>
        /// <param name="money"></param>
        /// <param name="orderId"></param>
        /// <param name="payerId"></param>
        /// <returns></returns>
        protected string GetCanAmount(object money, object orderRetID)
        {
            double hasAmount = To_PaymentReturnManager.GetHasAmount(orderRetID.ToString());
            double amount    = double.Parse(money.ToString());

            if (amount != 0)
            {
                return((amount - hasAmount).ToString("F2"));
            }
            else
            {
                return(amount.ToString());
            }
        }
コード例 #3
0
        /// <summary>
        /// 得到已经退过款的金额
        /// </summary>
        /// <param name="orderId"></param>
        /// <param name="payerId"></param>
        /// <returns></returns>
        protected string GetHasAmount(object orderRetID)
        {
            double hasAmount = To_PaymentReturnManager.GetHasAmount(orderRetID.ToString());

            return(hasAmount.ToString("F2"));
        }