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; } }
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); } } }