示例#1
0
        private void SetOperationButton()
        {
            OperationControlStatusHelper.SetAllButtonNotEnabled(ButtonPannel);

            btnRefresh.IsEnabled = true;

            if (CurrentSOVM.BaseInfoVM.Status == SOStatus.Split || CurrentSOVM.BaseInfoVM.Status == SOStatus.Abandon || CurrentSOVM.BaseInfoVM.Status == SOStatus.SystemCancel || CurrentSOVM.BaseInfoVM.Status == SOStatus.Reject)
            {
                btnPrintSO.IsEnabled = true;
            }
            if (CurrentSOVM.BaseInfoVM.Status == SOStatus.Origin)
            {
                btnForceAudit.IsEnabled       = btnAudit.IsEnabled = AbandonButtonSet =
                    btnHoldSO.IsEnabled       = btnSplitInvoice.IsEnabled = btnPrintSO.IsEnabled = true;
                btnAuditNetPayAndSO.IsEnabled = CurrentSOVM.BaseInfoVM.IsNet ?? false;

                if (CurrentSOVM.BaseInfoVM.SplitType == SOSplitType.Customer ||
                    CurrentSOVM.BaseInfoVM.SplitType == SOSplitType.Force)
                {
                    btnSplit.IsEnabled = true;
                    btnAudit.IsEnabled = btnForceAudit.IsEnabled = btnAuditNetPayAndSO.IsEnabled = false;
                }
            }
            else if (CurrentSOVM.BaseInfoVM.Status == SOStatus.WaitingOutStock)
            {
                btnCancelAudit.IsEnabled = btnHoldSO.IsEnabled = AbandonButtonSet = btnPrintSO.IsEnabled = true;
            }
            else if (CurrentSOVM.BaseInfoVM.Status == SOStatus.WaitingManagerAudit)
            {
                btnForceManagerAudit.IsEnabled = btnCancelAudit.IsEnabled = btnManagerAudit.IsEnabled =
                    btnHoldSO.IsEnabled        = btnPrintSO.IsEnabled = true;
            }
            else if (CurrentSOVM.BaseInfoVM.Status == SOStatus.OutStock)
            {
                btnSplitInvoice.IsEnabled = btnPrintSO.IsEnabled = btnHoldSO.IsEnabled = true;
            }

            if (CurrentSOVM.InvoiceInfoVM.IsVAT == true)
            {
                btnHoldSO.IsEnabled = true;
            }

            if (CurrentSOVM.ShippingInfoVM.StockType == BizEntity.Invoice.StockType.MET)
            {
                btnSplit.IsEnabled = btnCancelAudit.IsEnabled = false;
                switch (CurrentSOVM.BaseInfoVM.Status)
                {
                case SOStatus.WaitingOutStock:
                    btnSplitInvoice.IsEnabled = AbandonButtonSet = btnHoldSO.IsEnabled = false;
                    break;

                case SOStatus.OutStock:
                    btnSplitInvoice.IsEnabled = false;
                    break;

                default:
                    break;
                }
            }

            if (CurrentSOVM != null && CurrentSOVM.BaseInfoVM != null && CurrentSOVM.BaseInfoVM.Status == SOStatus.OutStock)
            {
                new OtherDomainQueryFacade(Page).GetSOIncomeBySOSysNo(SOSysNo, (soIncomeInfo) =>
                {
                    CurrentSOIncomeInfo = soIncomeInfo;
                    if (CurrentSOVM.BaseInfoVM.SOType != SOType.PhysicalCard)//礼品卡订单不允许报关申报作废
                    {
                        btnReportedFaulure.IsEnabled = true;
                    }
                });
            }
            else
            {
                btnReportedFaulure.IsEnabled = false;
            }
            if (btnAbandon.IsEnabled)
            {
                new OtherDomainQueryFacade(Page).GetSOIncomeBySOSysNo(SOSysNo, (soIncomeInfo) =>
                {
                    CurrentSOIncomeInfo = soIncomeInfo;
                    SOFacade.ConfirmOperationSubSO(CurrentSOVM, SetAbandon, SetAOAbondon);
                });
            }
            if (CurrentSOVM != null && CurrentSOVM.BaseInfoVM != null && CurrentSOVM.BaseInfoVM.Status == SOStatus.Reject)
            {
                btnHoldSO.IsEnabled = false;
            }

            btnSplit.Visibility        = System.Windows.Visibility.Collapsed;
            btnSplitInvoice.Visibility = System.Windows.Visibility.Collapsed;
        }