C2021-065 – BNPP Alarms logic to get RO info based on the OTHER (i.e. OtherName) applicability setting

This commit is contained in:
John Jenko 2022-01-14 18:56:00 +00:00
parent 89405c08a6
commit 7a753badc8
2 changed files with 28 additions and 2 deletions

View File

@ -108,6 +108,16 @@ namespace VEPROMS.CSLA.Library
} }
} }
} }
//C2021-065 used by Barakah Alarms so that we get ROLookUp for the Other applicability
private string _OtherChild;
public string OtherChild
{
get
{ return _OtherChild;}
set
{ _OtherChild = value;}
}
public ROFSTLookup(ROFst rofst, DocVersionInfo dvi) public ROFSTLookup(ROFst rofst, DocVersionInfo dvi)
{ {
_ROFst = rofst; _ROFst = rofst;
@ -312,6 +322,12 @@ namespace VEPROMS.CSLA.Library
string childName = MyDocVersionInfo.DocVersionConfig.Unit_Name; string childName = MyDocVersionInfo.DocVersionConfig.Unit_Name;
string aplString = roval; string aplString = roval;
string ChldValue = ""; string ChldValue = "";
// C2021-065 see if we need to get the RO information for the "Other" Child applicability value
if (OtherChild != null && OtherChild != "")
{
selChldIdx = Convert.ToInt32(OtherChild); // the OTHER unit number
childName = MyDocVersionInfo.DocVersionConfig.Other_Unit_Name;
}
// if the RO Value contains Parent/Child values, parse out default value and the child (slave or unit specific) value // if the RO Value contains Parent/Child values, parse out default value and the child (slave or unit specific) value
while (roval != null && roval.Contains("<APL DefaultVal=")) while (roval != null && roval.Contains("<APL DefaultVal="))
{ {

View File

@ -176,13 +176,23 @@ namespace VEPROMS.CSLA.Library
private Dictionary<string, ROFSTLookup> dicLookups = new Dictionary<string, ROFSTLookup>(); private Dictionary<string, ROFSTLookup> dicLookups = new Dictionary<string, ROFSTLookup>();
public ROFSTLookup GetROFSTLookup(DocVersionInfo dvi) public ROFSTLookup GetROFSTLookup(DocVersionInfo dvi)
{ {
//string key = string.Format("{0}.{1}",dvi.DocVersionAssociations[0].ROFstID,dvi.DocVersionConfig.SelectedSlave); return GetROFSTLookup(dvi, "");
string key = string.Format("{0}.{1}.{2}", ROFstID, dvi.DocVersionConfig.MaxSlaveIndex, dvi.DocVersionConfig.SelectedSlave); }
public ROFSTLookup GetROFSTLookup(DocVersionInfo dvi, string ovrrideChild)
{
string key = "";
if (ovrrideChild == "")
key = string.Format("{0}.{1}.{2}", ROFstID, dvi.DocVersionConfig.MaxSlaveIndex, dvi.DocVersionConfig.SelectedSlave);
else
key = string.Format("{0}.{1}.{2}", ROFstID, dvi.DocVersionConfig.MaxSlaveIndex, ovrrideChild); // C2021-065 use OTHER child information
if (!dicLookups.ContainsKey(key)) if (!dicLookups.ContainsKey(key))
{ {
dicLookups.Clear(); //B2022-001 clear the dictionary each time to free up memory - out of memory fix dicLookups.Clear(); //B2022-001 clear the dictionary each time to free up memory - out of memory fix
dicLookups.Add(key, new ROFSTLookup(this, dvi)); dicLookups.Add(key, new ROFSTLookup(this, dvi));
} }
if (ovrrideChild != "")
dicLookups[key].OtherChild = ovrrideChild; // C2021-065 use the OTHER applicabiltiy info to get RO Values
return dicLookups[key]; return dicLookups[key];
} }
#endregion #endregion