Exemplo n.º 1
0
        /// <summary>
        /// 财务审核
        /// </summary>
        /// <param name="auditInfo"></param>
        public virtual void FinConfirm(BalanceRefundAuditInfo auditInfo)
        {
            var balanceRefundInfo = LoadBySysNo(auditInfo.SysNo.Value);

            /* if (balanceRefundInfo.CreateUserSysNo == auditInfo.AuditUserSysNo)
             * {
             *   throw new BizException(string.Format(ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.NetPay, "NetPay_InputAndAuditUserCannotSame"), auditInfo.SysNo.Value));
             * }*/

            if (balanceRefundInfo.Status != BalanceRefundStatus.CSConfirmed)
            {
                //throw new BizException("只有CS已经审核的单据才能审核.");
                ThrowBizException("BalanceRefund_AuditPassCanAudit");
            }

            TransactionOptions options = new TransactionOptions();

            options.IsolationLevel = IsolationLevel.ReadUncommitted;
            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, options))
            {
                m_BalanceRefundDA.UpdateStatusForFinConfirm(auditInfo.SysNo.Value, auditInfo.AuditUserSysNo, BalanceRefundStatus.FinConfirmed);

                //发送财务审核完成Message
                EventPublisher.Publish(new BalanceRefundFinConfirmedMessage()
                {
                    ReturnPrepaySysNo = auditInfo.SysNo.Value,
                    CurrentUserSysNo  = ServiceContext.Current.UserSysNo
                });
                ts.Complete();
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// 客服审核
        /// </summary>
        /// <param name="auditInfo"></param>
        public virtual void CSConfirm(BalanceRefundAuditInfo auditInfo)
        {
            var balanceRefundInfo = LoadBySysNo(auditInfo.SysNo.Value);

            /*if (balanceRefundInfo.CreateUserSysNo == auditInfo.AuditUserSysNo)
             * {
             *  throw new BizException(string.Format(ResouceManager.GetMessageString(InvoiceConst.ResourceTitle.NetPay, "NetPay_InputAndAuditUserCannotSame"), auditInfo.SysNo.Value));
             * }*/

            if (balanceRefundInfo.Status != BalanceRefundStatus.Origin)
            {
                //throw new BizException("单据状态不是待CS审核状态,CS审核失败.");
                ThrowBizException("BalanceRefund_NotWaitCSAuditStatus");
            }
            TransactionOptions options = new TransactionOptions();

            options.IsolationLevel = IsolationLevel.ReadUncommitted;
            options.Timeout        = TimeSpan.FromMinutes(2);
            using (TransactionScope ts = new TransactionScope(TransactionScopeOption.Required, options))
            {
                m_BalanceRefundDA.UpdateStatusForCSConfirm(auditInfo.SysNo.Value, auditInfo.AuditUserSysNo, BalanceRefundStatus.CSConfirmed);
                EventPublisher.Publish(new BalanceRefundCSConfirmedMessage()
                {
                    ReturnPrepaySysNo = auditInfo.SysNo.Value,
                    CurrentUserSysNo  = ServiceContext.Current.UserSysNo
                });
                ts.Complete();
            }
        }