C2025-015 Added logic to make approved PDF names unique to allow procedures from different sets or different revs of the same procedure to be opened (viewed) at the same time.
This commit is contained in:
@@ -1606,6 +1606,27 @@ namespace Volian.Controls.Library
|
||||
FlexibleMessageBox.Show("Approved procedure saved to import file " + fileName, "Creating Export of Approved Procedure", MessageBoxButtons.OK, MessageBoxIcon.Information);
|
||||
}
|
||||
|
||||
//C2025-015 Get a partial folder path. This will be used in building the PDF file name when viewing Approved procedures
|
||||
string ProcFolderPathforApprovedPDF(string fullPath)
|
||||
{
|
||||
string rtnStr = "";
|
||||
try
|
||||
{
|
||||
// the fullPath string that is passed in ends with the Working Draft node. We want to trim that off
|
||||
string[] strParts = fullPath.Substring(0, fullPath.LastIndexOf("\\")).Split('\\'); //fullPath.Replace("\\Working Draft","").Split('\\');
|
||||
int lastPart = Math.Max(strParts.Length - 1, 0);
|
||||
rtnStr = strParts[lastPart];
|
||||
if (rtnStr.ToUpper().StartsWith("UNIT"))
|
||||
{
|
||||
rtnStr = strParts[lastPart - 1] + "_" + rtnStr;
|
||||
}
|
||||
}
|
||||
catch
|
||||
{
|
||||
rtnStr = fullPath.Replace("\\", "_"); // just return the full path with _ intead of backslashes
|
||||
}
|
||||
return rtnStr;
|
||||
}
|
||||
|
||||
void ApprovedRevision_Click(object sender, EventArgs e)
|
||||
{
|
||||
@@ -1619,7 +1640,10 @@ namespace Volian.Controls.Library
|
||||
if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved != 0)
|
||||
superceded = true;
|
||||
}
|
||||
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
||||
ProcedureInfo prcInfo = ProcedureInfo.Get(ri.ItemID);
|
||||
// C2025-015 build a file name that includes a partial folder path and approved revision number
|
||||
string approvedPDFName = string.Format("{0}_{1} Revision {2}", ProcFolderPathforApprovedPDF(prcInfo.SearchDVPath_clean), prcInfo.PDFNumber,ri.RevisionNumber);
|
||||
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(approvedPDFName), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
||||
OnViewPDF(sender, args);
|
||||
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
|
||||
}
|
||||
@@ -1628,6 +1652,7 @@ namespace Volian.Controls.Library
|
||||
bool superceded = false;
|
||||
MenuItem mi = sender as MenuItem;
|
||||
if (mi == null) return;
|
||||
string childName = "";
|
||||
//RevisionInfo ri = mi.Tag as RevisionInfo;
|
||||
RevisionInfo ri = RevisionInfo.Get(int.Parse(mi.Tag.ToString()));
|
||||
{
|
||||
@@ -1635,12 +1660,22 @@ namespace Volian.Controls.Library
|
||||
//B2021-086 Added the check for the last revision stage is an Approved stage
|
||||
if ((ri.RevisionID < int.Parse(mip.Parent.Tag.ToString())) && ri.LatestVersion.MyStage.IsApproved != 0)
|
||||
superceded = true;
|
||||
// C2025_015 get the child's name to append to file name
|
||||
mip = mip.Parent as MenuItem;
|
||||
if (mip != null)
|
||||
{
|
||||
childName = "_" + mip.Text;
|
||||
}
|
||||
}
|
||||
ItemInfo ii = ItemInfo.Get(ri.ItemID);
|
||||
ii.MyDocVersion.DocVersionConfig.SelectedSlave = ri.MyConfig.Applicability_Index;
|
||||
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(ProcedureInfo.Get(ri.ItemID).PDFNumber), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
||||
ProcedureInfo prcInfo = ProcedureInfo.Get(ri.ItemID);
|
||||
if (prcInfo.MyContent.Number.ToUpper().Contains("<U") || ii.MyDocVersion.DocVersionConfig.Unit_ProcedureNumber.Contains("#"))
|
||||
childName = ""; // unit identification already part of procedure number-no need to add the child name to the PDF file name
|
||||
// C2025-015 build a file name that includes a partial folder path, the child name and approved revision number
|
||||
string approvedPDFName = string.Format("{0}{1}_{2} Revision {3}", ProcFolderPathforApprovedPDF(prcInfo.SearchDVPath_clean),childName, prcInfo.PDFNumber, ri.RevisionNumber);
|
||||
vlnTreeViewPdfArgs args = new vlnTreeViewPdfArgs(Volian.Base.Library.TmpFile.CreateFileName(approvedPDFName), ri.LatestVersion.PDF, superceded ? "Superceded" : "");
|
||||
OnViewPDF(sender, args);
|
||||
// System.Diagnostics.Process pp = System.Diagnostics.Process.Start(GetDocPdf(ri, superceded));
|
||||
}
|
||||
void SummaryOfChanges_Click(object sender, EventArgs e)
|
||||
{
|
||||
|
Reference in New Issue
Block a user