Beispiel #1
0
        internal PostponeRefundBill MakeRefundBill(string remark)
        {
            if (!Succeed)
            {
                throw new InvalidOperationException("改期费未成功支付,不能退款");
            }
            if (RefundBill != null)
            {
                throw new Core.CustomException("改期费是一次性退完,不能重复退");
            }

            var refundBill = new PostponeRefundBill(ApplyformId)
            {
                PayBill = this,
                Remark  = remark,
                Applier = Applier.MakeRefundBill()
            };
            var accepter = new Role.Platform(Accepter.Account);

            refundBill.Accepter  = accepter.MakeRefundBill(Accepter.Deduction, new[] { refundBill.Applier });
            refundBill.Tradement = Tradement.MakeRefundment(Math.Abs(Applier.Amount), 0, ApplyformId.ToString());
            return(refundBill);
        }