Example #1
0
        /// <summary>
        /// 有押金时计算支付的金额,-txy改动了。本来使用余额,且余额充足的时候,押金不扣的,现在扣了。
        /// </summary>
        /// <param name="balance"></param>
        /// <param name="coupon"></param>
        /// <param name="sumMoney"></param>
        /// <param name="deposit"></param>
        /// <returns></returns>
        public PriceRes GetThreePriceWithDeposit(decimal balance, decimal coupon, decimal sumMoney, decimal deposit)
        {
            var discountTemp = new SettingRes().discount;

            var      balanceTemp          = balance > deposit ? balance - deposit : balance;
            var      depositForPayMoney   = balance > deposit ? 0 : deposit;
            var      depositForUseBalance = balance > deposit ? deposit:0;
            var      discount             = Convert.ToDecimal(discountTemp) / 100;
            PriceRes res       = new PriceRes();
            var      newCoupon = sumMoney * discount;

            res.useCoupon = newCoupon > coupon ? coupon : newCoupon;
            var newBalance = sumMoney - res.useCoupon;

            res.useBalance = (newBalance > balanceTemp ? balanceTemp : newBalance) + depositForUseBalance;
            var newPay = sumMoney - res.useBalance - res.useCoupon;

            if (newPay > 0)
            {
                res.payMoney = newPay + depositForPayMoney;
            }
            else
            {
                res.payMoney = 0;
            }
            res.payMoney   = StringHelperHere.Instance.KeepDecimal(res.payMoney);
            res.useBalance = StringHelperHere.Instance.KeepDecimal(res.useBalance);
            return(res);
        }
Example #2
0
        /// <summary>
        /// 计算礼金券,余额,第三方支付金额
        /// </summary>
        public PriceRes GetThreePrice(decimal balance, decimal coupon, decimal sumMoney)
        {
            var      discount  = new decimal(0.1);
            PriceRes res       = new PriceRes();
            var      newCoupon = sumMoney * discount;

            res.useCoupon = newCoupon > coupon ? coupon : newCoupon;
            var newBalance = sumMoney - res.useCoupon;

            res.useBalance = newBalance > balance ? balance : newBalance;
            var newPay = sumMoney - res.useBalance - res.useCoupon;

            if (newPay > 0)
            {
                res.payMoney = newPay;
            }
            else
            {
                res.payMoney = 0;
            }
            return(res);
        }