Ejemplo n.º 1
0
        public new void Show()
        {
            base.Show();

            MainPanelParameter Parameter = new MainPanelParameter(null, m_SysConfig, m_SysMgr, m_DisplayedCases.GetPrinterObjects(), FrameWorkWindow);
            MainPanelInstance mainPanelInstance = m_MainPanelPluginManager.GetCasesMainPanelInstance(Parameter);

            if (mainPanelInstance != null)
            {
                mainPanelInstance.Instance.SetOpenAndCloseCaseCallback(CasesOpenCase, DefaultCloseCase);
                MainPanelStackPanel.Children.Add(mainPanelInstance.Instance.UserControlDisplay);
            }

            if (m_DualViewWindow != null)
            {
                m_DualViewWindow.Show();
                m_DualViewWindow.WindowState = WindowState.Maximized;
            }
        }
Ejemplo n.º 2
0
        private void DisplayCase(String sourceAlias, DisplayedCase displayCase)
        {
            try
            {
                CaseObject caseObj = null;

                if (m_AutoSelectCaseEnabled && !m_SysConfig.GetDefaultConfig().SelectedArchiveDuringAutoSelect)
                {

                    m_SysMgr.AutoSelectCase(out caseObj);

                    if (caseObj != null)
                    {
                        displayCase.CaseID = caseObj.CaseId;

                        displayCase.IsCTICase = (caseObj.caseType == Cargo.Common.CaseType.CTICase) ? true : false;
                        displayCase.IsFTICase = (caseObj.caseType == Cargo.Common.CaseType.FTICase) ? true : false;
                    }

                }
                else if (!String.IsNullOrWhiteSpace(sourceAlias) && !String.IsNullOrWhiteSpace(displayCase.CaseID))
                {
                    m_SysMgr.GetCase(sourceAlias, displayCase.CaseID, out caseObj, displayCase.IsCaseEditable);

                    displayCase.IsCTICase = (caseObj.caseType == Cargo.Common.CaseType.CTICase) ? true : false;
                    displayCase.IsFTICase = (caseObj.caseType == Cargo.Common.CaseType.FTICase) ? true : false;
                }

                if (caseObj != null)
                {

                    MainPanelStackPanel.Dispatcher.Invoke(DispatcherPriority.Normal, new Action(delegate
                            {
                                try
                                {
                                    displayCase.IsCaseEditable = caseObj.IsCaseEditable;

                                    ContentParameter parameters = new ContentParameter(caseObj, m_SysConfig.GetConfig(caseObj.SourceAlias));

                                    displayCase.ContentInstances = m_ContentPluginManager.GetInstances(parameters);

                                    ConstructLayout(displayCase);

                                    m_DisplayedCases.Add(displayCase);

                                    if (displayCase.IsPrimaryCase)
                                    {
                                        DisplayedCase dispalyedCase = m_DisplayedCases.Find(displayCase.CaseID);

                                        MainPanelParameter Parameters = new MainPanelParameter(caseObj, m_SysConfig, m_SysMgr, m_DisplayedCases.GetPrinterObjects(), FrameWorkWindow);

                                        dispalyedCase.mainPanelInstances = m_MainPanelPluginManager.GetInstances(Parameters);

                                        MainPanelInstance DecisionPlugin = null;

                                        foreach (MainPanelInstance mainPanelInst in dispalyedCase.mainPanelInstances)
                                        {
                                            if (mainPanelInst.Instance.Name.Contains("Decision"))
                                                DecisionPlugin = mainPanelInst;
                                            else
                                                MainPanelStackPanel.Children.Add(mainPanelInst.Instance.UserControlDisplay);

                                            if (mainPanelInst.Instance.Name.Contains("ClearCase"))
                                            {
                                                mainPanelInst.Instance.SetOpenAndCloseCaseCallback(DefaultOpenCase, ClearScreenCloseCase);
                                            }
                                            else if (mainPanelInst.Instance.Name.Contains("Decision"))
                                            {
                                                mainPanelInst.Instance.SetOpenAndCloseCaseCallback(DefaultOpenCase, DecisionCloseCase);
                                            }
                                        }

                                        if (DecisionPlugin != null)
                                            MainPanelStackPanel.Children.Add(DecisionPlugin.Instance.UserControlDisplay);

                                        caseObj.AnalysisStartTime = DateTime.Now;
                                    }

                                    NotifyPropertyChanged("IsCompareAvailable");
                                }
                                catch (Exception ex)
                                {
                                    MessageBox.Show(ex.Message);
                                }

                            }));
                }
            }
            catch (Exception ex)
            {
                if (m_SysConfig.GetDefaultConfig().AutoSelectPendingCasesEnabled)
                {
                    throw;
                }
                else
                {
                    MessageBox.Show(ex.Message);
                }
            }
        }