Пример #1
0
        /// <summary>
        /// 审核团购结算单
        /// </summary>
        /// <param name="sysNo"></param>
        public void AuditPassGroupBuyingSettlement(int sysNo)
        {
            if (sysNo <= 0)
            {
                throw new ArgumentException("sysNo");
            }
            var origin = m_GroupBuyingDA.LoadGroupBuyingSettleBySysNo(sysNo);

            if (origin == null)
            {
                //throw new BizException(string.Format("团购结算单[{0}]不存在!", sysNo));
                throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_NotExsitGroupBuyingBalanceSheet"), sysNo));
            }
            if (origin.Status == SettlementBillStatus.Settled)
            {
                //throw new BizException(string.Format("团购结算单已经审核,不能重复审核!", sysNo));
                throw new BizException(string.Format(ResouceManager.GetMessageString("MKT.Promotion.GroupBuying", "GroupBuying_BalanceSheetAlreadyAudit"), sysNo));
            }
            using (TransactionScope scope = new TransactionScope())
            {
                m_GroupBuyingDA.UpdateGroupBuyingSettlementStatus(sysNo, SettlementBillStatus.Settled);
                //生成付款单
                ExternalDomainBroker.CreatePayItem(new PayItemInfo()
                {
                    OrderSysNo  = origin.SysNo,
                    PayAmt      = origin.SettleAmt,
                    OrderType   = PayableOrderType.GroupSettle,
                    PayStyle    = PayItemStyle.Normal,
                    CompanyCode = "8601"
                });
                scope.Complete();
            }
        }