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);
|
rpt.BuildAllReport(dvi);
|
||||||
this.Cursor = Cursors.Default;
|
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)
|
void tv_ApproveSomeProcedures(object sender, vlnTreeEventArgs args)
|
||||||
{
|
{
|
||||||
DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
|
DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
|
||||||
if (dvi == null) return;
|
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();
|
tc.SaveCurrentEditItem();
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
@ -729,6 +754,13 @@ namespace VEPROMS
|
|||||||
{
|
{
|
||||||
DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
|
DocVersionInfo dvi = (args.Node as VETreeNode).VEObject as DocVersionInfo;
|
||||||
if (dvi == null) return;
|
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();
|
tc.SaveCurrentEditItem();
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
if (!MySessionInfo.CanCheckOutItem(dvi.VersionID, CheckOutType.DocVersion, ref message))
|
||||||
@ -806,6 +838,13 @@ namespace VEPROMS
|
|||||||
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
ProcedureInfo pi = (args.Node as VETreeNode).VEObject as ProcedureInfo;
|
||||||
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
pi.MyDocVersion.DocVersionConfig.SelectedSlave = args.UnitIndex;
|
||||||
if (pi == null) return;
|
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);
|
tc.SaveCurrentEditItem(pi);
|
||||||
string message = string.Empty;
|
string message = string.Empty;
|
||||||
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
if (!MySessionInfo.CanCheckOutItem(pi.ItemID, CheckOutType.Procedure, ref message))
|
||||||
|
Loading…
x
Reference in New Issue
Block a user