예제 #1
0
 public void InitData(NormalRefundBill refundBill)
 {
     if (refundBill != null)
     {
         _bills.Add(refundBill);
     }
 }
예제 #2
0
 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);
 }
예제 #3
0
 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);
 }
예제 #4
0
파일: BasePage.cs 프로젝트: 842549829/Pool
 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);
 }
예제 #5
0
        /// <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);
        }
예제 #6
0
        /// <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);
        }