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.Text = string.Format("Creating PDF for {0} ({1} of {2})", myProc.DisplayNumber, ++i, n);
|
||||||
pbPDFsStatus.Value = i;
|
pbPDFsStatus.Value = i;
|
||||||
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
// 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));
|
using (ProcedureInfo pi = ProcedureInfo.GetItemAndChildren(myProc.ItemID))
|
||||||
frmStatus.CloseWhenDone = true;
|
{
|
||||||
frmStatus.CancelStop = true;
|
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();
|
frmStatus.CloseWhenDone = true;
|
||||||
if (frmStatus.CancelPrinting) break;
|
frmStatus.CancelStop = true;
|
||||||
|
frmStatus.ShowDialog();
|
||||||
|
if (frmStatus.CancelPrinting) break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
pbPDFsStatus.Visible = false;
|
pbPDFsStatus.Visible = false;
|
||||||
@ -429,8 +432,11 @@ namespace VEPROMS
|
|||||||
// Also check that format allows override.
|
// Also check that format allows override.
|
||||||
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
ChangeBarDefinition cbd = DetermineChangeBarSettings();
|
||||||
// RHM 20120925 Overlay the bottom of the dialog so that cancel button is covered.
|
// 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));
|
using (ProcedureInfo pi = ProcedureInfo.GetItemAndChildren(MyProcedure.ItemID))
|
||||||
frmStatus.ShowDialog();
|
{
|
||||||
|
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();
|
this.Close();
|
||||||
ShowDebugFiles();
|
ShowDebugFiles();
|
||||||
}
|
}
|
||||||
|
@ -641,11 +641,11 @@ namespace VEPROMS
|
|||||||
RevNumber = proc.ProcedureConfig.Print_Rev == string.Empty ? "0" : proc.ProcedureConfig.Print_Rev;
|
RevNumber = proc.ProcedureConfig.Print_Rev == string.Empty ? "0" : proc.ProcedureConfig.Print_Rev;
|
||||||
//AppRevDate Change
|
//AppRevDate Change
|
||||||
//DateTime revdate;
|
//DateTime revdate;
|
||||||
//string print_revdate = proc.ProcedureConfig.Print_RevDate;
|
RevDate = proc.ProcedureConfig.Print_RevDate;
|
||||||
//if (print_revdate == string.Empty && DateTime.TryParse(RevNumber, out revdate))
|
//if (print_revdate == string.Empty && DateTime.TryParse(RevNumber, out revdate))
|
||||||
// ;
|
// ;
|
||||||
//else
|
//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;
|
//RevDate = revdate;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -989,10 +989,13 @@ namespace VEPROMS
|
|||||||
// Moved to end so that Item and Content are saved at the same time
|
// Moved to end so that Item and Content are saved at the same time
|
||||||
//UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS);
|
//UpdateProcedureConfig(pi, ap.RevNumber, ap.RevDate, myDTS);
|
||||||
string waterMark = Stage.Get(RevStage).IsApproved > 0 ? null : Stage.Get(RevStage).Name;
|
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);
|
using (ProcedureInfo myproc = ProcedureInfo.GetItemAndChildren(pi.ItemID))
|
||||||
frm.AllowAllWatermarks = true;
|
{
|
||||||
frm.CloseWhenDone = !ViewPDF;
|
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.ShowDialog();
|
frm.AllowAllWatermarks = true;
|
||||||
|
frm.CloseWhenDone = !ViewPDF;
|
||||||
|
frm.ShowDialog();
|
||||||
|
}
|
||||||
pdfFile = new FileInfo(pdfPath);
|
pdfFile = new FileInfo(pdfPath);
|
||||||
fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
fs = pdfFile.Open(FileMode.Open, FileAccess.Read, FileShare.ReadWrite);
|
||||||
byte[] buf = new byte[pdfFile.Length];
|
byte[] buf = new byte[pdfFile.Length];
|
||||||
@ -1007,109 +1010,6 @@ namespace VEPROMS
|
|||||||
//UpdateProcedureDTS(pi, DateTime.Now);
|
//UpdateProcedureDTS(pi, DateTime.Now);
|
||||||
}
|
}
|
||||||
return true;
|
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)
|
private void UpdateProcedureDTS(ProcedureInfo pi, DateTime dts)
|
||||||
@ -1126,7 +1026,7 @@ namespace VEPROMS
|
|||||||
if (pc == null) return;
|
if (pc == null) return;
|
||||||
pc.Print_Rev = revNumber;
|
pc.Print_Rev = revNumber;
|
||||||
//AppRevDate Change
|
//AppRevDate Change
|
||||||
//pc.Print_RevDate = revDate.ToString();
|
pc.Print_RevDate = revDate.ToString("MM/dd/yyyy");
|
||||||
using (Item itm = Item.Get(procedureInfo.ItemID))
|
using (Item itm = Item.Get(procedureInfo.ItemID))
|
||||||
{
|
{
|
||||||
itm.MyContent.Config = pc.ToString();
|
itm.MyContent.Config = pc.ToString();
|
||||||
|
@ -113,7 +113,11 @@ namespace VEPROMS
|
|||||||
Application.DoEvents();
|
Application.DoEvents();
|
||||||
MyPromsPrinter.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
MyPromsPrinter.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
||||||
DateTime tStart = DateTime.Now;
|
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)
|
if (_PdfFile == null)
|
||||||
{
|
{
|
||||||
this.Close();
|
this.Close();
|
||||||
|
Loading…
x
Reference in New Issue
Block a user