From f7c265c3881ef73c3424355d1200eccef04bb522 Mon Sep 17 00:00:00 2001 From: Rich Date: Fri, 10 Apr 2015 11:51:05 +0000 Subject: [PATCH] Added ErrorLog Message if a disconnected item is processed Added logic to keep disconnected items from being displayed in the search results If the user selects a disconnected item the code will display a message rather than crashing. --- .../VEPROMS.CSLA.Library/Extension/ItemExt.cs | 24 +++++++++++++++---- .../Volian.Controls.Library/DisplayLibDocs.cs | 13 +++++++--- 2 files changed, 30 insertions(+), 7 deletions(-) diff --git a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs index 49777906..3689b969 100644 --- a/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs +++ b/PROMS/VEPROMS.CSLA.Library/Extension/ItemExt.cs @@ -2241,7 +2241,14 @@ namespace VEPROMS.CSLA.Library get { string str = MyContent.Text; - str = Regex.Replace(str, @"\<[uU]\>", MyDocVersion.DocVersionConfig.Unit_Number); + if (MyDocVersion != null) + { + str = Regex.Replace(str, @"\<[uU]\>", MyDocVersion.DocVersionConfig.Unit_Number); + } + else + { + _MyLog.WarnFormat("Disconnected Data - ItemID = {0}", ItemID); + } //if (str.Contains("")) // str = str.Replace("", MyDocVersion.DocVersionConfig.Unit_Number); //if (str.Contains("")) @@ -2253,9 +2260,18 @@ namespace VEPROMS.CSLA.Library { get { - string str = (this.IsProcedure) ? MyDocVersion.UnitSpecific(MyContent.Number, 0) : MyContent.Number; - str = Regex.Replace(str, @"\", MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase); - str = Regex.Replace(str, @"\", MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase); + string str = MyContent.Number; + if (MyDocVersion != null) + { + str = (this.IsProcedure) ? MyDocVersion.UnitSpecific(MyContent.Number, 0) : MyContent.Number; + str = Regex.Replace(str, @"\", MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase); + str = Regex.Replace(str, @"\", MyDocVersion.DocVersionConfig.Unit_ID, RegexOptions.IgnoreCase); + } + else + { + str = "*" + str; + _MyLog.WarnFormat("Disconnected Data - ItemID = {0}", ItemID); + } //if (str.Contains("")) // str = str.Replace("", MyDocVersion.DocVersionConfig.Unit_ID); //if (str.Contains(@"")) diff --git a/PROMS/Volian.Controls.Library/DisplayLibDocs.cs b/PROMS/Volian.Controls.Library/DisplayLibDocs.cs index 61a020a3..fdb48184 100644 --- a/PROMS/Volian.Controls.Library/DisplayLibDocs.cs +++ b/PROMS/Volian.Controls.Library/DisplayLibDocs.cs @@ -122,7 +122,8 @@ namespace Volian.Controls.Library btnOpenLibDoc.Enabled = false; foreach (ItemInfo ii in dicnt.LibraryDocumentUsageList) { - listBoxUsages.Items.Add(ii.MyProcedure.ToString() + " - " + ii.MyContent.Number + " " + ii.MyContent.Text); + if(ii.MyDocVersion!=null) + listBoxUsages.Items.Add(ii.MyProcedure.ToString() + " - " + ii.MyContent.Number + " " + ii.MyContent.Text); } btnPrint.Enabled = listBoxUsages.Items.Count > 0 ? true : false; } @@ -284,8 +285,14 @@ namespace Volian.Controls.Library MessageBox.Show("No Content in this document"); return; } - if (listBoxUsages.SelectedIndex < di.LibraryDocumentUsageList.Count && listBoxUsages.SelectedIndex >= 0) - _DisplayTabControl.OpenItem(di.LibraryDocumentUsageList[listBoxUsages.SelectedIndex]); + if (listBoxUsages.SelectedIndex < di.LibraryDocumentUsageList.Count && listBoxUsages.SelectedIndex >= 0) + { + ItemInfo ii = di.LibraryDocumentUsageList[listBoxUsages.SelectedIndex]; + if (ii.MyDocVersion == null) + MessageBox.Show("This usage is not connected properly", "Disconnected Data", MessageBoxButtons.OK, MessageBoxIcon.Warning); + else + _DisplayTabControl.OpenItem(ii); + } _ProcessingSelectedValueChanged = false; } }