Multiple return values were check uppercase ROID against a mixed case ROID and returning the wrong selection.
If the return value from rolookup is a Unit RO, convert it to it's value.
This commit is contained in:
parent
3dcf918262
commit
36bf0cda84
@ -252,6 +252,21 @@ namespace VEPROMS.CSLA.Library
|
|||||||
s2 = s2.Replace("-", @"\u8209?");
|
s2 = s2.Replace("-", @"\u8209?");
|
||||||
return s2;
|
return s2;
|
||||||
}
|
}
|
||||||
|
private string FixUnitROs(string val)
|
||||||
|
{
|
||||||
|
if (val.StartsWith("<U-"))
|
||||||
|
{
|
||||||
|
if (val.ToUpper() == "<U-TEXT>") val = _ROFstInfo.docVer.DocVersionConfig.Unit_Text;
|
||||||
|
else if (val.ToUpper() == "<U-NUMBER>") val = _ROFstInfo.docVer.DocVersionConfig.Unit_Number;
|
||||||
|
else if (val.ToUpper() == "<U-NAME>") val = _ROFstInfo.docVer.DocVersionConfig.Unit_Name;
|
||||||
|
else if (val.ToUpper() == "<U-ID>") val = _ROFstInfo.docVer.DocVersionConfig.Unit_ID;
|
||||||
|
else if (val.ToUpper() == "<U-OTHER TEXT>") val = _ROFstInfo.docVer.DocVersionConfig.Other_Unit_Text;
|
||||||
|
else if (val.ToUpper() == "<U-OTHER NUMBER>") val = _ROFstInfo.docVer.DocVersionConfig.Other_Unit_Number;
|
||||||
|
else if (val.ToUpper() == "<U-OTHER NAME>") val = _ROFstInfo.docVer.DocVersionConfig.Other_Unit_Name;
|
||||||
|
else if (val.ToUpper() == "<U-OTHER ID>") val = _ROFstInfo.docVer.DocVersionConfig.Other_Unit_ID;
|
||||||
|
}
|
||||||
|
return val;
|
||||||
|
}
|
||||||
// this only gets rochild values. Later we may want another
|
// this only gets rochild values. Later we may want another
|
||||||
// dictionary to get groups.
|
// dictionary to get groups.
|
||||||
public string GetRoValue(string ROID16)
|
public string GetRoValue(string ROID16)
|
||||||
@ -263,14 +278,14 @@ namespace VEPROMS.CSLA.Library
|
|||||||
{
|
{
|
||||||
rochild rochld = (rochild)dicRos[ROID.ToUpper()];
|
rochild rochld = (rochild)dicRos[ROID.ToUpper()];
|
||||||
if (rochld.value != null && rochld.value != string.Empty)
|
if (rochld.value != null && rochld.value != string.Empty)
|
||||||
return rochld.value;
|
return FixUnitROs( rochld.value);
|
||||||
if (rochld.children != null)
|
if (rochld.children != null)
|
||||||
{
|
{
|
||||||
foreach (rochild child in rochld.children)
|
foreach (rochild child in rochld.children)
|
||||||
if (child.roid.ToUpper() == ROID16 || (child.roid.EndsWith("0041") && ROID16.EndsWith("0000")))
|
if (child.roid.ToUpper() == ROID16.ToUpper() || (child.roid.EndsWith("0041") && ROID16.EndsWith("0000")))
|
||||||
return child.value;
|
return FixUnitROs(child.value);
|
||||||
// if there isn't a specific match for multi-return values, default to the first child.
|
// if there isn't a specific match for multi-return values, default to the first child.
|
||||||
return rochld.children[0].value;
|
return FixUnitROs(rochld.children[0].value);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//if (ROID == "FFFF00000001") return _ROFstInfo.ROFstAssociations[0].MyDocVersion.DocVersionConfig.Unit_Number;
|
//if (ROID == "FFFF00000001") return _ROFstInfo.ROFstAssociations[0].MyDocVersion.DocVersionConfig.Unit_Number;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user