Fixed checkoff logic so that it handles Signoff style of checkoffs

The checkoff/signoff list was not always refreshing in the step properties panel.
Added format flag CheckoffOnSubStepsOnly for Bryon and Braidwood
This commit is contained in:
John Jenko 2014-02-24 16:36:20 +00:00
parent afdf8a280e
commit 48ee3854a2
3 changed files with 23 additions and 6 deletions

View File

@ -25,6 +25,7 @@ namespace VEPROMS
private Document _DocumentToDelete = null;
private StepTabRibbon _MyStepTabRibbon;
private bool _isStepSection = true;
private bool _hasSectionCheckoffDefault = false;
public frmSectionProperties(SectionConfig sectionConfig)
{
@ -84,8 +85,8 @@ namespace VEPROMS
CheckOffList chkoffList = pf.FormatData.ProcData.CheckOffData.CheckOffList;
CheckOffHeaderList chkoffHeaderList = pf.FormatData.ProcData.CheckOffData.CheckOffHeaderList;
if (ppGpbxSignoffCheckoff.Enabled && (chkoffList != null && chkoffList.Count > 1)
&& (ppCmbxCheckoffType.SelectedIndex != _SectionConfig.Section_CheckoffListSelection - 1))
_SectionConfig.Section_CheckoffListSelection = ppCmbxCheckoffType.SelectedIndex + 1;
&& (ppCmbxCheckoffType.SelectedIndex != _SectionConfig.Section_CheckoffListSelection - (_hasSectionCheckoffDefault? 1:0)))
_SectionConfig.Section_CheckoffListSelection = ppCmbxCheckoffType.SelectedIndex + (_hasSectionCheckoffDefault? 1:0);
if (ppCmbxCheckoffHeading.Enabled && chkoffHeaderList != null && chkoffHeaderList.Count > 1)
_SectionConfig.Section_CheckoffHeaderSelection = ppCmbxCheckoffHeading.SelectedIndex;
@ -464,18 +465,24 @@ namespace VEPROMS
PlantFormat pf = _SectionConfig.MyFormat!=null?_SectionConfig.MyFormat.PlantFormat:_SectionConfig.MyDefaultFormat.PlantFormat;
CheckOffList chkoffList = pf.FormatData.ProcData.CheckOffData.CheckOffList;
CheckOffHeaderList chkoffHeaderList = pf.FormatData.ProcData.CheckOffData.CheckOffHeaderList;
if (chkoffList != null && chkoffList.Count > 0)
if (chkoffList != null && chkoffList.Count > 0 &&
(pf.FormatData.ProcData.CheckOffData.Menu == "Signoff" || chkoffList[0].MenuItem.ToUpper().Equals("{SECTION DEFAULT}")))
{
if (SectionPropertyCheckOffList!=null)SectionPropertyCheckOffList.Clear();
SectionPropertyCheckOffList = new List<CheckOff>();
// Don't put up the first item in the chkoffList, it is '{Section Default}'.
for (int i = 1; i < chkoffList.Count; i++)
_hasSectionCheckoffDefault = false;
//for (int i = 1; i < chkoffList.Count; i++)
for (int i = 0; i < chkoffList.Count; i++)
{
SectionPropertyCheckOffList.Add(chkoffList[i]);
if (!chkoffList[i].MenuItem.ToUpper().Equals("{SECTION DEFAULT}"))
SectionPropertyCheckOffList.Add(chkoffList[i]);
else
_hasSectionCheckoffDefault = true;
}
ppGpbxSignoffCheckoff.Enabled = true;
ppCmbxCheckoffType.DataSource = SectionPropertyCheckOffList;
ppCmbxCheckoffType.SelectedIndex = _SectionConfig.Section_CheckoffListSelection-1;
ppCmbxCheckoffType.SelectedIndex = _SectionConfig.Section_CheckoffListSelection - (_hasSectionCheckoffDefault ? 1 : 0);
}
else
{

View File

@ -1909,6 +1909,7 @@ namespace VEPROMS
infotabFoldoutMaint.Visible = infotabRO.Visible = infotabTransition.Visible = infotabTags.Visible = infotabHistory.Visible = infotabApplicability.Visible = false;
// When infotabTags is set to InVisible, the matching panel also needs to be set to invisible
infotabControlPanelTags.Visible = false;
displayTags.MyEditItem = null;
displayTags.Visible = false;
SelectedStepTabPanel = null;
lblItemID.Text = "No Item Selected";

View File

@ -1250,6 +1250,15 @@ namespace VEPROMS.CSLA.Library
return LazyLoad(ref _SkipSpaces, "@SkipSpaces");
}
}
// put in for Bryon and Braidwood
private LazyLoad<bool> _CheckoffOnSubStepsOnly;
public bool CheckoffOnSubStepsOnly
{
get
{
return LazyLoad(ref _CheckoffOnSubStepsOnly, "@CheckoffOnSubStepsOnly");
}
}
}
#endregion
//#region RightCheckOffBox