using System; using System.Linq; using System.Windows.Forms; using System.Drawing.Printing; using System.Runtime.InteropServices; namespace Neo.LegitimateLicences.ActiveX.Printing { public partial class AccreditationDecalPrinterControl : UserControl { #region AccreditationDecalPrinterControl public AccreditationDecalPrinterControl() { InitializeComponent(); } #endregion #region private Print() Method private void Print() { if (!_isTestCheckBox.Checked) { if (Microsoft.VisualBasic.Interaction.MsgBox("Please put the blank licence in the printer and click OK" + (char)13 + (char)10 + "Printing Operating Licence For: " + _vinNumberTextBox.Text, Microsoft.VisualBasic.MsgBoxStyle.OkOnly, "Confirm") != Microsoft.VisualBasic.MsgBoxResult.Ok) { return; } } var AccreditationDecalPrinter = new AccreditationDecalPrinter(_accreditationNumberTextBox.Text, _operatingLicenceNumberTextBox.Text, _vinNumberTextBox.Text, _engineNumberTextBox.Text, _vehicleRegistrationNumberTextBox.Text, _grossVehicleMassTextBox.Text, _tareWeightTextBox.Text, _vehicleMakeTextBox.Text, _vehicleTypeTextBox.Text, _seatedCapacityTextBox.Text, _standingCapacityTextBox.Text, _verificationTokenTextBox.Text, Convert.ToDateTime(_dateOfExpiryTextBox.Text), _nameTextBox.Text, _contactTextBox.Text, _addressTextBox.Text, Convert.ToInt16(CopiesTextBox.Text), PrinterPathTextBox.Text, DateTime.Now, PreviewCheckBox.Checked, _isTestCheckBox.Checked); AccreditationDecalPrinter.Print(); } #endregion #region getPrinter private static string GetPrinter(string printerPath) { var printerName = ""; foreach (var printer in PrinterSettings.InstalledPrinters.Cast().Where(printer => printer.ToLower().Contains(printerPath.ToLower()))) { printerName = printer; } //Revert to default printer if name not found if (printerName == "") { PrinterSettings settings = new PrinterSettings(); foreach (string printer in PrinterSettings.InstalledPrinters) { settings.PrinterName = printer; if (settings.IsDefaultPrinter) { printerName = printer; break; } } } return printerName; } #endregion #region PrintButtonClick private void PrintButtonClick(object sender, EventArgs e) { Print(); } #endregion } }