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); }