From 42ae2bf2e8386a1db9956242d7aa23a9c19f092d Mon Sep 17 00:00:00 2001 From: John Date: Mon, 6 Dec 2021 15:43:03 +0000 Subject: [PATCH] B2021-143 leading zeros in revision numbers were being removed when the auto increment was used. --- .../dlgApproveProcedure.cs | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/PROMS/VEPROMS User Interface/dlgApproveProcedure.cs b/PROMS/VEPROMS User Interface/dlgApproveProcedure.cs index c1f09fdb..eb381cba 100644 --- a/PROMS/VEPROMS User Interface/dlgApproveProcedure.cs +++ b/PROMS/VEPROMS User Interface/dlgApproveProcedure.cs @@ -636,7 +636,12 @@ namespace VEPROMS { bool rv = true; if (Regex.IsMatch(ap.RevNumber, "^[0-9]+$")) - ap.RevNumber = (int.Parse(ap.RevNumber) + 1).ToString(); + { + // B2021-143 build a string format that will put leading zeros if the rev number (integer) has less digits than the initial rev string length + string preZerosRevFmt = string.Format("D{0}", ap.RevNumber.Length); + int revNum = int.Parse(ap.RevNumber) + 1; + ap.RevNumber = revNum.ToString(preZerosRevFmt); + } else if (Regex.IsMatch(ap.RevNumber, "^[0-9]*[a-yA-Y]+$")) { char lastCar = ap.RevNumber[ap.RevNumber.Length - 1]; @@ -650,10 +655,9 @@ namespace VEPROMS string[] parts = ap.RevNumber.Split(".".ToCharArray()); string sep = ""; string lastPart = parts[parts.Length - 1]; - int w = lastPart.Length; - lastPart = (int.Parse(lastPart) + 1).ToString(); - //if(w > lastPart.Length) - lastPart = lastPart.PadLeft(w, '0'); + // B2021-143 build a string format that will put leading zeros if the rev number (integer) has less digits than the initial rev string length + string preZerosRevFmt = string.Format("D{0}", lastPart.Length); + lastPart = (int.Parse(lastPart) + 1).ToString(preZerosRevFmt); parts[parts.Length - 1] = lastPart; StringBuilder sb = new StringBuilder(); foreach (string part in parts) @@ -664,7 +668,7 @@ namespace VEPROMS ap.RevNumber = sb.ToString(); } else if (Regex.IsMatch(ap.RevNumber, "[?]$")) - rv = false; //do nothing + rv = false; //do nothing else { ap.RevNumber += " ?";