B2017-242 added a check for duplicate procedure numbers within the same procedure set, before doing an approval
This commit is contained in:
parent
8c37fd9fe4
commit
b6be495117
@ -703,11 +703,36 @@ namespace VEPROMS
|
||||
rpt.BuildAllReport(dvi);
|
||||
this.Cursor = Cursors.Default;
|
||||
}
|
||||
|
||||
// B2017-242 added check for duplicate procedure numbers in a procedure set
|
||||
// This is called before doing any of the approval
|
||||
private bool DuplicateProcedureNumbers(DocVersionInfo dvi, ProcedureInfo pinfo)
|
||||
{
|
||||
List<string> pnList = new List<string>();
|
||||
foreach (ProcedureInfo pi in dvi.Procedures)
|
||||
{
|
||||
if (!pnList.Contains(pi.DisplayNumber))
|
||||
pnList.Add(pi.DisplayNumber);
|
||||
else if (pinfo != null)
|
||||
{
|
||||
if (pinfo.DisplayNumber == pi.DisplayNumber)
|
||||
return true;
|
||||
}
|
||||
else
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
void tv_ApproveSomeProcedures(object sender, vlnTreeEventArgs args)
|
||||
{
|
||||
DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
|
||||
if (dvi == null) return;
|
||||
// B2017-242 added check for duplicate procedure numbers in a procedure set
|
||||
if (DuplicateProcedureNumbers(dvi, null))
|
||||
{
|
||||
MessageBox.Show("This procedure set has two or more procedures with the same procedure number.\n\n" +
|
||||
"Please make each procedure number unique before approving.", "Approve Some Procedures");
|
||||
return;
|
||||
}
|
||||
tc.SaveCurrentEditItem();
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||
@ -729,6 +754,13 @@ namespace VEPROMS
|
||||
{
|
||||
DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
|
||||
if (dvi == null) return;
|
||||
// B2017-242 added check for duplicate procedure numbers in a procedure set
|
||||
if (DuplicateProcedureNumbers(dvi, null))
|
||||
{
|
||||
MessageBox.Show("This procedure set has two or more procedures with the same procedure number.\n\n" +
|
||||
"Please make each procedure number unique before approving.", "Approve All Procedures");
|
||||
return;
|
||||
}
|
||||
tc.SaveCurrentEditItem();
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||
@ -806,6 +838,13 @@ namespace VEPROMS
|
||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||
if (pi == null) return;
|
||||
// B2017-242 added check for duplicate procedure numbers in a procedure set
|
||||
if (DuplicateProcedureNumbers(pi.MyDocVersion, pi))
|
||||
{
|
||||
MessageBox.Show("There is another procedure in this set with the same procedure number.\n\n" +
|
||||
"Please make each procedure number unique before approving.", "Approve Procedure");
|
||||
return;
|
||||
}
|
||||
tc.SaveCurrentEditItem(pi);
|
||||
string message = string.Empty;
|
||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||
|
Loading…
x
Reference in New Issue
Block a user