Use "GetItemAndChildren" to assure that the latest data is used.
Fixed logic if trying to create a PDF while a previous PDF is open.
This commit is contained in:
parent
127a917e1e
commit
7b5fdd9f74
@ -393,11 +393,14 @@ namespace VEPROMS
|
||||
pbPDFsStatus.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
||||
pbPDFsStatus.Value = i;
|
||||
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
||||
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNum, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, PDFPath, cbd, txbPDFName.Text, new Point(Left,Bottom-50));
|
||||
frmStatus.CloseWhenDone = true;
|
||||
frmStatus.CancelStop = true;
|
||||
frmStatus.ShowDialog();
|
||||
if (frmStatus.CancelPrinting) break;
|
||||
using (ProcedureInfo pi = ProcedureInfo.GetItemAndChildren(myProc.ItemID))
|
||||
{
|
||||
frmPDFStatusForm frmStatus = new frmPDFStatusForm(pi, RevNum, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, PDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50));
|
||||
frmStatus.CloseWhenDone = true;
|
||||
frmStatus.CancelStop = true;
|
||||
frmStatus.ShowDialog();
|
||||
if (frmStatus.CancelPrinting) break;
|
||||
}
|
||||
}
|
||||
}
|
||||
pbPDFsStatus.Visible = false;
|
||||
@ -429,8 +432,11 @@ namespace VEPROMS
|
||||
// Also check that format allows override.
|
||||
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
||||
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
||||
frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNum, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, PDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50));
|
||||
frmStatus.ShowDialog();
|
||||
using (ProcedureInfo pi = ProcedureInfo.GetItemAndChildren(MyProcedure.ItemID))
|
||||
{
|
||||
frmPDFStatusForm frmStatus = new frmPDFStatusForm(pi, RevNum, pw.ToString(), cbxDebug.Checked, cbxOrPgBrk.Checked, cbxOpenAfterCreate2.Checked, cbxOverwritePDF2.Checked, PDFPath, cbd, txbPDFName.Text, new Point(Left, Bottom - 50));
|
||||
frmStatus.ShowDialog();
|
||||
}
|
||||
this.Close();
|
||||
ShowDebugFiles();
|
||||
}
|
||||
|
@ -641,11 +641,11 @@ namespace VEPROMS
|
||||
RevNumber = proc.ProcedureConfig.Print_Rev == string.Empty ? "0" : proc.ProcedureConfig.Print_Rev;
|
||||
//AppRevDate Change
|
||||
//DateTime revdate;
|
||||
//string print_revdate = proc.ProcedureConfig.Print_RevDate;
|
||||
RevDate = proc.ProcedureConfig.Print_RevDate;
|
||||
//if (print_revdate == string.Empty && DateTime.TryParse(RevNumber, out revdate))
|
||||
// ;
|
||||
// ;
|
||||
//else
|
||||
// revdate = DateTime.TryParse(proc.ProcedureConfig.Print_RevDate.Replace("-","/").Replace("00/","01/"), out revdate) ? revdate : DateTime.Now;
|
||||
// revdate = DateTime.TryParse(proc.ProcedureConfig.Print_RevDate.Replace("-", "/").Replace("00/", "01/"), out revdate) ? revdate : DateTime.Now;
|
||||
//RevDate = revdate;
|
||||
}
|
||||
}
|
||||
@ -989,10 +989,13 @@ namespace VEPROMS
|
||||
// Moved to end so that Item and Content are saved at the same time
|
||||
//UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS);
|
||||
string waterMark = Stage.Get(RevStage).IsApproved > 0 ? null : Stage.Get(RevStage).Name;
|
||||
frmPDFStatusForm frm = new frmPDFStatusForm(pi, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
||||
frm.AllowAllWatermarks = true;
|
||||
frm.CloseWhenDone = !ViewPDF;
|
||||
frm.ShowDialog();
|
||||
using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildren(pi.ItemID))
|
||||
{
|
||||
frmPDFStatusForm frm = new frmPDFStatusForm(myproc, ap.RevNumber, /* revdate change: ap.RevDate.ToString("MM/dd/yyyy") ,*/ waterMark, false, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(pi.MyDocVersion.MyConfig as DocVersionConfig, pi.ActiveFormat), pdfTmp, location);
|
||||
frm.AllowAllWatermarks = true;
|
||||
frm.CloseWhenDone = !ViewPDF;
|
||||
frm.ShowDialog();
|
||||
}
|
||||
pdfFile = new FileInfo(pdfPath);
|
||||
fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||
byte[] buf = new byte[pdfFile.Length];
|
||||
@ -1007,109 +1010,6 @@ namespace VEPROMS
|
||||
//UpdateProcedureDTS(pi, DateTime.Now);
|
||||
}
|
||||
return true;
|
||||
#region old code
|
||||
//if (MyProcedures.Count == 1)
|
||||
//{
|
||||
// ApprovalProcedure ap = MyProcedures[0];
|
||||
// //string revnum = RevNumber == "*" ? pi.ProcedureConfig.Print_Rev : RevNumber == "+" ? (int.Parse(Regex.Replace(pi.ProcedureConfig.Print_Rev, "^ *([0-9]*)[^0-9]*$", "0$1")) + 1).ToString() : RevNumber;
|
||||
// //if (FancyShmancyRevCompare(revnum, ric.RevisionNumber) < 0)
|
||||
// //{
|
||||
// // MessageBox.Show("Revision Number must be greater than or equal to current revision","Revision Number Error",MessageBoxButtons.OK,MessageBoxIcon.Stop);
|
||||
// // return false;
|
||||
// //}
|
||||
// //jcb add 20111029 chronology report
|
||||
// //end jcb add 20111029 chronology report
|
||||
//}
|
||||
//else
|
||||
//{
|
||||
// ViewPDF = false;
|
||||
// if (RevNumber != "*" && RevNumber != "+")
|
||||
// {
|
||||
// //need to check all procedures for adequate rev number
|
||||
// bool hdr = false;
|
||||
// StringBuilder msg = new StringBuilder();
|
||||
// foreach (ApprovalProcedure ap in MyProcedures)
|
||||
// {
|
||||
// ProcedureInfo pi = ap.ProcInfo;
|
||||
// RevisionInfo ri = RevisionInfo.GetCurrentByItemID(pi.ItemID);
|
||||
// if (FancyShmancyRevCompare(RevNumber, ri.RevisionNumber) < 0)
|
||||
// {
|
||||
// if (!hdr)
|
||||
// {
|
||||
// msg.Append("Revision Number is not greater than or equal to the current revision for the following procedure(s):");
|
||||
// msg.AppendLine();
|
||||
// msg.AppendLine();
|
||||
// hdr = true;
|
||||
// }
|
||||
// msg.Append(string.Format("{0} Revision {1}", pi.DisplayNumber, pi.ProcedureConfig.Print_Rev));
|
||||
// msg.AppendLine();
|
||||
// }
|
||||
// }
|
||||
// if (msg.Length > 0)
|
||||
// {
|
||||
// MessageBox.Show(msg.ToString(), "Revision Number Error", MessageBoxButtons.OK, MessageBoxIcon.Stop);
|
||||
// return false;
|
||||
// }
|
||||
// }
|
||||
// foreach (ApprovalProcedure ap in MyProcedures)
|
||||
// {
|
||||
// ProcedureInfo pi = ap.ProcInfo;
|
||||
// OnStatusUpdated(this,new ApprovalMessageArgs(string.Format("Processing {0}", pi.DisplayNumber)));
|
||||
// //jcb add 20111029 chronology report
|
||||
// string summaryPDF = Volian.Base.Library.VlnSettings.TemporaryFolder + @"\MySummary.pdf";
|
||||
// ContentAuditInfoList cail = ContentAuditInfoList.GetSummary(pi.ItemID, pi.ItemID, false);
|
||||
// AnnotationAuditInfoList aail = AnnotationAuditInfoList.GetChronology(pi.ItemID, pi.ItemID);
|
||||
// Volian.Print.Library.PDFChronologyReport myChronoRpt = new Volian.Print.Library.PDFChronologyReport(summaryPDF, pi, cail, aail);
|
||||
// myChronoRpt.BuildSummary(ViewPDF);
|
||||
// FileInfo pdfFile = new FileInfo(summaryPDF);
|
||||
// FileStream fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||
// byte[] summaryBuf = new byte[pdfFile.Length];
|
||||
// fs.Read(summaryBuf, 0, summaryBuf.Length);
|
||||
// fs.Close();
|
||||
// //end jcb add 20111029 chronology report
|
||||
// RevisionInfo ric = RevisionInfo.GetCurrentByItemID(pi.ItemID);
|
||||
// RevisionInfo rip = RevisionInfo.GetPreviousByItemID(pi.ItemID);
|
||||
// string revnum = RevNumber == "*" ? pi.ProcedureConfig.Print_Rev : RevNumber == "+" ? (int.Parse(Regex.Replace(pi.ProcedureConfig.Print_Rev, "^ *([0-9]*)[^0-9]*$", "0$1")) + 1).ToString() : RevNumber;
|
||||
// DateTime myDTS = pi.DTS;
|
||||
// if (ric != null && revnum == ric.RevisionNumber && ric.LatestVersion.MyStage.IsApproved == 1)
|
||||
// {
|
||||
// myDTS = rip.DTS;
|
||||
// UpdateProcedureDTS(pi, myDTS);
|
||||
// }
|
||||
// DateTime dts = RevDate == null ? pi.ProcedureConfig.Print_RevDate == string.Empty ? DateTime.Now : DateTime.Parse(pi.ProcedureConfig.Print_RevDate) : RevDate.Value;
|
||||
// Revision revision = Revision.GetByItemIDAndRevisionNumber(pi.ItemID, revnum);
|
||||
// if(revision == null)
|
||||
// revision = Revision.MakeRevision(pi.ItemID, RevType, revnum, dts, RevNote, "", DateTime.Now, Volian.Base.Library.VlnSettings.UserID);
|
||||
// else if (revision.Notes != RevNote || revision.RevisionDate != dts)
|
||||
// {
|
||||
// revision.Notes = RevNote;
|
||||
// revision.RevisionDate = dts;
|
||||
// revision = revision.Save();
|
||||
// }
|
||||
// Check check = Check.MakeCheck(revision, Stage.Get(RevStage), RevisionInfo.BuildRevisionChecks(pi));
|
||||
// string pdfTmp = string.Format(@"{0}.pdf", pi.DisplayNumber);
|
||||
// string pdfPath = string.Format(@"{0}\{1}", VlnSettings.TemporaryFolder, pdfTmp);
|
||||
// UpdateProcedureConfig(pi, revnum, dts, myDTS);
|
||||
// string waterMark = Stage.Get(RevStage).Name == "Approved" ? "" : Stage.Get(RevStage).Name;
|
||||
// frmPDFStatusForm frm = new frmPDFStatusForm(pi, ap.RevNumber, ap.RevDate.ToString(), waterMark, false, ViewPDF, true, VlnSettings.TemporaryFolder, new ChangeBarDefinition(), pdfTmp, location);
|
||||
// frm.CloseWhenDone = !ViewPDF;
|
||||
// frm.ShowDialog();
|
||||
// //PromsPrinter pp = new PromsPrinter(pi, revnum, dts.ToString(), "", false, "", false, true, new ChangeBarDefinition(), pdfTmp);
|
||||
// //pp.Print(VlnSettings.TemporaryFolder);
|
||||
// pdfFile = new FileInfo(pdfPath);
|
||||
// fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||
// byte[] buf = new byte[pdfFile.Length];
|
||||
// fs.Read(buf, 0, buf.Length);
|
||||
// fs.Close();
|
||||
// VEPROMS.CSLA.Library.Version version = VEPROMS.CSLA.Library.Version.MakeVersion(revision, Stage.Get(RevStage), buf, summaryBuf, DateTime.Now, VlnSettings.UserID);
|
||||
// StageInfo si = StageInfo.Get(RevStage);
|
||||
// if(si.IsApproved == 1)
|
||||
// UpdateProcedureDTS(pi, DateTime.Now);
|
||||
// //pdfFile.Delete();
|
||||
// }
|
||||
// return true;
|
||||
//}
|
||||
#endregion
|
||||
}
|
||||
|
||||
private void UpdateProcedureDTS(ProcedureInfo pi, DateTime dts)
|
||||
@ -1126,7 +1026,7 @@ namespace VEPROMS
|
||||
if (pc == null) return;
|
||||
pc.Print_Rev = revNumber;
|
||||
//AppRevDate Change
|
||||
//pc.Print_RevDate = revDate.ToString();
|
||||
pc.Print_RevDate = revDate.ToString("MM/dd/yyyy");
|
||||
using (Item itm = Item.Get(procedureInfo.ItemID))
|
||||
{
|
||||
itm.MyContent.Config = pc.ToString();
|
||||
|
@ -113,7 +113,11 @@ namespace VEPROMS
|
||||
Application.DoEvents();
|
||||
MyPromsPrinter.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
||||
DateTime tStart = DateTime.Now;
|
||||
_PdfFile = MyPromsPrinter.Print(PDFPath);
|
||||
do
|
||||
{
|
||||
_PdfFile = MyPromsPrinter.Print(PDFPath);
|
||||
}
|
||||
while (_PdfFile == null && MessageBox.Show("Try Again?", "PDF Creation Failed", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes);
|
||||
if (_PdfFile == null)
|
||||
{
|
||||
this.Close();
|
||||
|
Loading…
x
Reference in New Issue
Block a user