public void InitData(NormalRefundBill refundBill) { if (refundBill != null) { _bills.Add(refundBill); } }
private NormalRefundRoleBill getUserRoleBill(NormalRefundBill bill) { if (bill.Purchaser.Owner.Id == BasePage.LogonCompany.CompanyId) { return(bill.Purchaser); } else if (bill.Provider != null && bill.Provider.Owner.Id == BasePage.LogonCompany.CompanyId) { return(bill.Provider); } else if (bill.Supplier != null && bill.Supplier.Owner.Id == BasePage.LogonCompany.CompanyId) { return(bill.Supplier); } return(bill.Platform.Deduction); }
private NormalRefundRoleBill getUserRoleBill(NormalRefundBill bill) { if (bill.Purchaser.Owner.Id == LogonCompany.CompanyId) { return(bill.Purchaser); } else if (bill.Provider != null && bill.Provider.Owner.Id == LogonCompany.CompanyId) { return(bill.Provider); } else if (bill.Supplier != null && bill.Supplier.Owner.Id == LogonCompany.CompanyId) { return(bill.Supplier); } return(null); }
internal static NormalRefundRoleBill SearchBill(NormalRefundBill refundBill) { if (LogonCompany.CompanyType == CompanyType.Platform) { return(refundBill.Platform.Deduction); } if (refundBill.Provider != null && refundBill.Provider.Owner.Id == LogonUser.Id) { return(refundBill.Provider); } if (refundBill.Supplier != null && refundBill.Supplier.Owner.Id == LogonUser.Id) { return(refundBill.Supplier); } if (refundBill.Purchaser != null && refundBill.Purchaser.Owner.Id == LogonUser.Id) { return(refundBill.Purchaser); } return(refundBill.Purchaser); }
/// <summary> /// 生成差错退款账单 /// </summary> internal NormalRefundBill MakeErrorRefundBill(Refund.ErrorRefundInfo refundInfo, string remark) { var refundBill = new NormalRefundBill(OrderId, refundInfo.ApplyformId) { PayBill = this, Remark = remark }; var tradeRoleRefundBills = new List <Refund.Normal.NormalRefundRoleBill>(); refundBill.Purchaser = Purchaser.MakeErrorRefundBill(refundInfo, getPurchaserRefundedBill(refundInfo.ApplyformId)); tradeRoleRefundBills.Add(refundBill.Purchaser); refundBill.Provider = Provider.MakeErrorRefundBill(refundInfo, getProviderRefundedBill(refundInfo.ApplyformId)); tradeRoleRefundBills.Add(refundBill.Provider); var platform = new Role.Platform(Platform.Account); refundBill.Platform = platform.MakeErrorRefundBill(Platform.Deduction, refundInfo, getPlatformRefundedBill(refundInfo.ApplyformId), tradeRoleRefundBills); refundBill.Tradement = Tradement.MakeRefundment(Math.Abs(refundBill.Purchaser.Amount), getRefundedTradeFee(), refundInfo.ApplyformId.ToString()); _refundBillsLoader.AppendData(refundBill); return(refundBill); }
/// <summary> /// 生成退款账单 /// </summary> internal NormalRefundBill MakeRefundBill(decimal applyformId, Refund.RefundInfo refundInfo, string remark) { //if(!this.Success) // throw new InvalidOperationException("未支付成功的订单,不能退款"); var refundBill = new NormalRefundBill(OrderId, applyformId) { PayBill = this, Remark = remark }; var tradeRoleRefundBills = new List <Refund.Normal.NormalRefundRoleBill>(); refundBill.Purchaser = Purchaser.MakeRefundBill(refundInfo, getPurchaserRefundedBill(applyformId)); tradeRoleRefundBills.Add(refundBill.Purchaser); if (Provider != null) { refundBill.Provider = Provider.MakeRefundBill(refundInfo, getProviderRefundedBill(applyformId)); tradeRoleRefundBills.Add(refundBill.Provider); } if (Supplier != null) { refundBill.Supplier = Supplier.MakeRefundBill(refundInfo, getSupplierRefundedBill(applyformId)); tradeRoleRefundBills.Add(refundBill.Supplier); } if (_royalties != null) { foreach (var royalty in _royalties) { var royaltyRefundBill = royalty.MakeRefundBill(refundInfo, getRoyaltyRefundedBill(applyformId, royalty.Owner.Id)); refundBill.AddRoyalty(royaltyRefundBill); tradeRoleRefundBills.Add(royaltyRefundBill); } } var platform = new Role.Platform(Platform.Account); refundBill.Platform = platform.MakeRefundBill(Platform.Deduction, refundInfo, getPlatformRefundedBill(applyformId), tradeRoleRefundBills); refundBill.Tradement = Tradement.MakeRefundment(Math.Abs(refundBill.Purchaser.Amount), getRefundedTradeFee(), applyformId.ToString()); _refundBillsLoader.AppendData(refundBill); return(refundBill); }