using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using System.IO; using VEPROMS.CSLA.Library; using Volian.Print.Library; namespace VEPROMS { public partial class DlgPrintProcedure : DevComponents.DotNetBar.Office2007Form { private DocVersionConfig _DocVersionConfig; //private string _RevNum; public string RevNum { get { return txbRevNum.Text; } set { txbRevNum.Text = value; } } //private string ProcNum; public string ProcNum { get { return MyProcedure.DisplayNumber; } } //private string _PDFPath; public string PDFPath { get { return txbPDFLocation.Text; } set { txbPDFLocation.Text = value; } } //private DateTime _RevDate = DateTime.Today; public DateTime RevDate { get { return dtRevDate.Value; } set { dtRevDate.Value = value; } } //private DateTime _ReviewDate = DateTime.Today; public DateTime ReviewDate { get { return dtReviewDate.Value; } set { dtReviewDate.Value = value; } } public DlgPrintProcedure(ProcedureInfo pi) { InitializeComponent(); _DocVersionConfig = (pi.ActiveParent as DocVersionInfo).DocVersionConfig; //docVersionConfig; _MyProcedure = pi; GetDocVersionSettings(); } private void GetDocVersionSettings() { _DocVersionConfig.SaveChangesToDocVersionConfig = false; _DocVersionConfig.ParentLookup = false; // PDF Location PDFPath = _DocVersionConfig.Print_PDFLocation; //txbPDFLocation.Text = PDFPath; // Overwrite PDF cbxOverwritePDF2.Checked = _DocVersionConfig.Print_AlwaysOverwritePDF; // Open PDF After Create cbxOpenAfterCreate2.Checked = _DocVersionConfig.Print_AlwaysViewPDFAfterCreate; // Changebars on/off if (_DocVersionConfig.Print_ChangeBar == PrintChangeBar.Without) btnChgBarOff.PerformClick(); else btnChgBarOn.PerformClick(); // Watermark on/off if (_DocVersionConfig.Print_Watermark == PrintWatermark.None) btnWaterMarkOff.PerformClick(); else btnWaterMarkOn.PerformClick(); // Auto Duplexing on/off if (_DocVersionConfig.Print_DisableDuplex) btnDuplxOff.PerformClick(); else btnDuplxOn.PerformClick(); } private void DlgPrintProcedure_Load(object sender, EventArgs e) { this.Text = "Create PDF for " + ProcNum; //dtRevDate.Value = _RevDate; //dtReviewDate.Value = _ReviewDate; //tbxRevNum.Text = _RevNum; // get list of previous pdf files // if no previous pdf file, then get path from frmVersionProperties // dlgSelectFile.InitialDirectory = pdf path from frmVersionProperties //cbxPDF.Text = string.Format(@"{0}\{1}.pdf", _PDFPath, _ProcNum); // General 2 settings //txbPDFLocation.Text = _PDFPath; tbxPDFName.Text = string.Format("{0}.pdf", ProcNum); //txbRevNum.Text = _RevNum; //dtRevDate.Value = _RevDate; //dtReviewDate.Value = _ReviewDate; // Advanced tab //cbxPDFloc.Text = _PDFPath; RevNum = "0"; // need to get from procedure config? RevDate = DateTime.Today; // need to get from procedure config? ReviewDate = DateTime.Today; // need to get from procedure config? cbxWaterMark.DataSource = EnumDetail.Details(); cbxWaterMark.DisplayMember = "Description"; cbxWaterMark.ValueMember = "EValue"; PrintWatermark pw = MyProcedure.ProcedureConfig.Print_Watermark; cbxWaterMark.Text = pw.ToString(); ppCmbxChangeBarType.DataSource = EnumDetail.Details(); ppCmbxChangeBarType.DisplayMember = "Description"; ppCmbxChangeBarType.ValueMember = "EValue"; ppCmbxChangeBarType.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBar.ToString(); ppCmbxChgBarPos.DataSource = EnumDetail.Details(); ppCmbxChgBarPos.DisplayMember = "Description"; ppCmbxChgBarPos.ValueMember = "EValue"; ppCmbxChgBarPos.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBarLoc.ToString(); ppCmbxChgBarTxtType.DataSource = EnumDetail.Details(); ppCmbxChgBarTxtType.DisplayMember = "Description"; ppCmbxChgBarTxtType.ValueMember = "EValue"; ppCmbxChgBarTxtType.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_ChangeBarText.ToString(); ppTxbxChangeBarUserMsgOne.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_UserCBMess1; ppTxbxChangeBarUserMsgTwo.Text = MyProcedure.MyDocVersion.DocVersionConfig.Print_UserCBMess2; } private void btnCancel_Click(object sender, EventArgs e) { this.Close(); } //private void btnOpenFolder_Click(object sender, EventArgs e) //{ // saveFileDialog1.InitialDirectory = _PDFPath;//@"C:\16bit\PromsDat\VEHLP"; // saveFileDialog1.FileName = string.Format(@"{0}\{1}.pdf", _PDFPath, _ProcNum); // DialogResult drslt = saveFileDialog1.ShowDialog(); // if (drslt == DialogResult.OK) // { // cbxPDF.Text = saveFileDialog1.FileName; // contails full path // UpdateDropDown(); // } //} //private void btnAutoDuplxOn_Click(object sender, EventArgs e) //{ // if (!btnAutoDuplxOn.Checked) // { // btnAutoDuplxOn.Checked = true; // btnAutoDuplxOff.Checked = false; // } //} //private void btnAutoDuplxOff_Click(object sender, EventArgs e) //{ // if (!btnAutoDuplxOff.Checked) // { // btnAutoDuplxOff.Checked = true; // btnAutoDuplxOn.Checked = false; // } //} private void buttonX9_Click(object sender, EventArgs e) { DlgBrowseFolder.SelectedPath = PDFPath; DialogResult drslt = DlgBrowseFolder.ShowDialog(); if (drslt == DialogResult.OK) { //cbxPDFloc.Text = DlgBrowseFolder.SelectedPath; txbPDFLocation.Text = DlgBrowseFolder.SelectedPath; //lblCurPDFLoc.Text = cbxPDFloc.Text; //UpdateDropDown2(); } } //private void UpdateDropDown2() //{ // if (!cbxPDFloc.Text.Equals(string.Empty)) // { // string tstr = cbxPDFloc.Text; // // if its already exists in the list - remove it // if (cbxPDFloc.Items.Contains(tstr)) // cbxPDFloc.Items.Remove(tstr); // // Add the new criteria to the top of the list // cbxPDFloc.Items.Insert(0, tstr); // // set the text to the new criteria // cbxPDFloc.Text = tstr; // // If there are more than 10 remove the last one // if (cbxPDFloc.Items.Count > 10) // cbxPDFloc.Items.RemoveAt(10); // } //} private void btnAvChgBarOn_Click(object sender, EventArgs e) { if (!btnChgBarOn.Checked) { btnChgBarOn.Checked = true; btnChgBarOff.Checked = false; tbChangeBars.Visible = true; } } private void btnAvChgBarOff_Click(object sender, EventArgs e) { if (!btnChgBarOff.Checked) { btnChgBarOff.Checked = true; btnChgBarOn.Checked = false; tbChangeBars.Visible = false; } } private void btnAdvDuplxOn_Click(object sender, EventArgs e) { if (!btnDuplxOn.Checked) { btnDuplxOn.Checked = true; btnDuplxOff.Checked = false; } } private void btnAdvDuplxOff_Click(object sender, EventArgs e) { if (!btnDuplxOff.Checked) { btnDuplxOff.Checked = true; ; btnDuplxOn.Checked = false; } } private void btnAdvWaterMarkOn_Click(object sender, EventArgs e) { if (!btnWaterMarkOn.Checked) { btnWaterMarkOn.Checked = true; btnWaterMarkOff.Checked = false; cbxWaterMark.Visible = true; } } private void btnAdvWaterMarkOff_Click(object sender, EventArgs e) { if (!btnWaterMarkOff.Checked) { btnWaterMarkOff.Checked = true; btnWaterMarkOn.Checked = false; cbxWaterMark.Visible = false; } } private void txbPDFLocation_Leave(object sender, EventArgs e) { if (!Directory.Exists(PDFPath)) { string msg = string.Format("'{0}' does not exist. \n\nCreate it?", PDFPath); DialogResult dr= MessageBox.Show(msg, "Folder Not Found", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { try { Directory.CreateDirectory(PDFPath); } catch (Exception ex) { MessageBox.Show(ex.Message, "Error trying to create folder", MessageBoxButtons.OK, MessageBoxIcon.Error); PDFPath = _DocVersionConfig.Print_PDFLocation; } } else { PDFPath = _DocVersionConfig.Print_PDFLocation; } } } private void DlgPrintProcedure_FormClosed(object sender, FormClosedEventArgs e) { _DocVersionConfig.SaveChangesToDocVersionConfig = true; _DocVersionConfig.ParentLookup = true; } private ProcedureInfo _MyProcedure; public ProcedureInfo MyProcedure { get { return _MyProcedure; } set { _MyProcedure = value; } } private void CreatePDF() { Volian.Print.Library.Rtf2Pdf.PdfDebug = true; //tbTimings.Text = ""; //Cursor saveCursor = this.Cursor; //this.Cursor = Cursors.WaitCursor; //ProcedureConfig.PrintWatermark pw = MyProcedure.ProcedureConfig.Print_Watermark; PrintWatermark pw = (PrintWatermark)cbxWaterMark.SelectedValue; frmPDFStatusForm frmStatus = new frmPDFStatusForm(MyProcedure, RevNum, RevDate.ToShortDateString(), pw.ToString(), true, @"C:\TEMP\16Bit", cbxOpenAfterCreate2.Checked, PDFPath); frmStatus.Show(); this.Close(); //PromsPrinter pp = new PromsPrinter(MyProcedure, RevNum, RevDate.ToShortDateString(), pw.ToString(), true, @"C:\TEMP\16Bit", cbxOpenAfterCreate2.Checked); ////pp.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged); //pp.StatusChanged += new PromsPrinterStatusEvent(pp_StatusChanged); ////_ElapsedTime = new Dictionary(); //DateTime tStart = DateTime.Now; //string pdfFile = pp.Print(PDFPath); //DateTime tEnd = DateTime.Now; ////_ElapsedTime.Add(PromsPrinterStatusType.Total, DateTime.Now - tStart); //MyStatus = pdfFile + " created."; ////this.Cursor = saveCursor; ////ShowElapsedTime(); //MyStatus = string.Format("{0} created in {1:0.} milliseconds", pdfFile, (TimeSpan.FromTicks(tEnd.Ticks - tStart.Ticks).TotalMilliseconds)); } //void pp_StatusChanged(object sender, PromsPrintStatusArgs args) //{ // MyStatus = args.MyStatus; //} private void btnCreatePDF_Click(object sender, EventArgs e) { CreatePDF(); } //private void txbRevNum_TextChanged(object sender, EventArgs e) //{ // RevNum = txbRevNum.Text; //} //private void dtRevDate_TextChanged(object sender, EventArgs e) //{ // RevDate = dtRevDate.Value; //} //private void dtReviewDate_Click(object sender, EventArgs e) //{ // ReviewDate = dtReviewDate.Value; //} //public string MyStatus //{ // get { return lblStatus.Text;} // set { lblStatus.Text = value; Application.DoEvents(); } //} } }