
Remove unused parameter from frmPDFStatusForm constructor Remove event handler for cbxCheckedChanged Set cbxCmpPRMSpfd to invisible since it is no longer needed Remove unused parameter from frmPDFStatusForm constructor Remove unused parameter from PromsPrinter constructor Rename log static field to _MyLog Set the Error Log file name to the Database name and the date of the previous Sunday - This will create a new error log file for each database each week
157 lines
5.5 KiB
C#
157 lines
5.5 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.ComponentModel;
|
|
using System.Data;
|
|
using System.Drawing;
|
|
using System.Text;
|
|
using System.Windows.Forms;
|
|
using VEPROMS.CSLA.Library;
|
|
using System.IO;
|
|
using Volian.Svg.Library;
|
|
using Volian.Print.Library;
|
|
using Volian.Base.Library;
|
|
|
|
namespace PrintMSWord
|
|
{
|
|
public partial class frmPrintMSWord : Form
|
|
{
|
|
public frmPrintMSWord()
|
|
{
|
|
InitializeComponent();
|
|
}
|
|
public string MyStatus
|
|
{
|
|
get { return tsslStatus.Text; }
|
|
set { tsslStatus.Text = value; Application.DoEvents(); }
|
|
}
|
|
private DateTime _TimerStart;
|
|
public DateTime TimerStart
|
|
{
|
|
get { return _TimerStart; }
|
|
set { _TimerStart = value; }
|
|
}
|
|
private string _ProcedureNumber;
|
|
public string ProcedureNumber
|
|
{
|
|
get { return _ProcedureNumber; }
|
|
set { _ProcedureNumber = value; }
|
|
}
|
|
public string MyTimerStatus
|
|
{
|
|
get { return tsslStatus.Text; }
|
|
set {
|
|
TimeSpan ts = DateTime.Now - _TimerStart;
|
|
DateTime dt = new DateTime(ts.Ticks);
|
|
tsslStatus.Text = string.Format("{0:HH:mm:ss.fff} {1} {2}",dt,ProcedureNumber,value);
|
|
Application.DoEvents();
|
|
}
|
|
}
|
|
private DocVersionInfo GetDocVersionWithContent()
|
|
{
|
|
DocVersionInfoList dvList = DocVersionInfoList.Get();
|
|
foreach (DocVersionInfo docVersion in dvList)
|
|
if (docVersion.Procedures != null)
|
|
if (docVersion.Procedures[0].ItemID != 0)
|
|
return docVersion;
|
|
return null;
|
|
}
|
|
public ProcedureInfo MyProcedure
|
|
{
|
|
get { return lbProcs.SelectedValue as ProcedureInfo; }
|
|
}
|
|
private void lbProcs_DoubleClick(object sender, EventArgs e)
|
|
{
|
|
CreatePDF();
|
|
}
|
|
private void CreatePDF()
|
|
{
|
|
TimerStart = DateTime.Now;
|
|
ProcedureInfo myProcedure = MyProcedure;
|
|
Volian.Print.Library.Rtf2Pdf.PdfDebug = true;
|
|
tbTimings.Text = "";
|
|
Cursor saveCursor = this.Cursor;
|
|
this.Cursor = Cursors.WaitCursor;
|
|
//ProcedureConfig.PrintWatermark pw = MyProcedure.ProcedureConfig.Print_Watermark;
|
|
CreatePDF(myProcedure,true);
|
|
this.Cursor = saveCursor;
|
|
}
|
|
|
|
private void CreatePDF(ProcedureInfo myProcedure, bool openPdf)
|
|
{
|
|
// set up for using format default change bars.
|
|
ChangeBarDefinition cbd = new ChangeBarDefinition();
|
|
ChangeBarData changeBarData = MyProcedure.ActiveFormat.PlantFormat.FormatData.ProcData.ChangeBarData;
|
|
cbd.MyChangeBarType = PrintChangeBar.WithDefault;
|
|
cbd.MyChangeBarText = changeBarData.ChangeBarMessage == "ChgID" ? PrintChangeBarText.ChgID :
|
|
changeBarData.ChangeBarMessage == "DateAndChgID" ? PrintChangeBarText.DateChgID :
|
|
changeBarData.ChangeBarMessage == "None" ? PrintChangeBarText.None :
|
|
changeBarData.ChangeBarMessage == "RevNum" ? PrintChangeBarText.RevNum : PrintChangeBarText.UserDef;
|
|
PromsPrinter pp = new PromsPrinter(myProcedure, tbRev.Text, tbRevDate.Text, cbWatermark.Text, cbDebugOutput.Checked, false, @"C:\TEMP\32Bit\Compare", openPdf, true, cbd,
|
|
myProcedure.DisplayNumber.Replace('/','_').Replace('\\','_'));
|
|
pp.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged);
|
|
_ElapsedTime = new Dictionary<PromsPrinterStatusType, TimeSpan>();
|
|
DateTime tStart = DateTime.Now;
|
|
string pdfFile = pp.Print(@"C:\TEMP\32Bit");
|
|
DateTime tEnd = DateTime.Now;
|
|
_ElapsedTime.Add(PromsPrinterStatusType.Total, DateTime.Now - tStart);
|
|
MyTimerStatus = pdfFile + " created.";
|
|
ShowElapsedTime();
|
|
//MyStatus = string.Format("{0} created in {1:0.} milliseconds", pdfFile, (TimeSpan.FromTicks(tEnd.Ticks - tStart.Ticks).TotalMilliseconds));
|
|
}
|
|
private void ShowElapsedTime()
|
|
{
|
|
foreach (PromsPrinterStatusType type in _ElapsedTime.Keys)
|
|
tbTimings.Text += "\r\n" + string.Format("'{0}',{1:0.}", type, _ElapsedTime[type].TotalMilliseconds);
|
|
}
|
|
private Dictionary<PromsPrinterStatusType, TimeSpan> _ElapsedTime;
|
|
private DateTime _LastTime=DateTime.Now;
|
|
private DateTime _StartTime = DateTime.Now;
|
|
void pp_StatusChanged(object sender, PromsPrintStatusArgs args)
|
|
{
|
|
if (args.Type == PromsPrinterStatusType.Start) _LastTime = _StartTime = args.When;
|
|
MyStatus = args.MyStatus;
|
|
TimeSpan delta = TimeSpan.FromTicks(args.When.Ticks - _LastTime.Ticks);
|
|
if (_ElapsedTime.ContainsKey(args.Type))
|
|
_ElapsedTime[args.Type] += delta;
|
|
else
|
|
_ElapsedTime.Add(args.Type, delta);
|
|
//if (tbTimings.Text != "") tbTimings.Text += "\r\n";
|
|
//tbTimings.Text += string.Format("{0},{1},'{2}','{3}'", TimeSpan.FromTicks(args.When.Ticks -_StartTime.Ticks).TotalSeconds, delta.TotalMilliseconds, args.Type, args.MyStatus);
|
|
_LastTime = args.When;
|
|
}
|
|
private void pDFToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
CreatePDF();
|
|
}
|
|
private void frmPrintMSWord_Load(object sender, EventArgs e)
|
|
{
|
|
DocVersionInfo dvi = GetDocVersionWithContent();
|
|
lbProcs.DataSource = dvi.Procedures;
|
|
}
|
|
|
|
private void pDFsToolStripMenuItem_Click(object sender, EventArgs e)
|
|
{
|
|
TimerStart = DateTime.Now;
|
|
Volian.Print.Library.Rtf2Pdf.PdfDebug = true;
|
|
tbTimings.Text = "";
|
|
Cursor saveCursor = this.Cursor;
|
|
this.Cursor = Cursors.WaitCursor;
|
|
//ProcedureConfig.PrintWatermark pw = MyProcedure.ProcedureConfig.Print_Watermark;
|
|
ItemInfoList myItems = lbProcs.DataSource as ItemInfoList;
|
|
tspbStatus.Maximum = myItems.Count;
|
|
tspbStatus.Value = 0;
|
|
tspbStatus.Visible = true;
|
|
foreach (ItemInfo myItem in myItems)
|
|
{
|
|
ProcedureNumber = myItem.DisplayNumber;
|
|
if (tspbStatus != null) tspbStatus.Value++;
|
|
CreatePDF(myItem.MyProcedure, false);
|
|
}
|
|
ProcedureNumber = "";
|
|
MyTimerStatus = "Processing Complete";
|
|
tspbStatus.Visible = false;
|
|
this.Cursor = saveCursor;
|
|
}
|
|
}
|
|
}
|