private void AcquireVoucher(bool defaultScannerSettings) { bool useImprinter = SettingsTable.Get <bool>(Strings.VScan_UseImPrinter, false); string voucherText = null; if (useImprinter) { VoucherData = ScanAppContext.FillFromScanContext(new Voucher()); string voucherTemplate = SettingsTable.Get <string>(Strings.VScan_ImPrinterTemplate, Strings.VScan_ImPrinterTemplateDefault); voucherText = voucherTemplate.format(ms_Aliases); } m_twain.Acquire(defaultScannerSettings, voucherText); }
static void Main() { Application.SetUnhandledExceptionMode(UnhandledExceptionMode.ThrowException); #if DEBUG InDebug = true; #endif //Register application exception handler ThreadBase.Error += OnError; AppDomain.CurrentDomain.UnhandledException += new UnhandledExceptionEventHandler(CurrentDomain_UnhandledException); Application.ThreadException += OnError; SQLWorker.Default.Error += OnError; SettingsTable.Default.Error += OnError; ClientDataAccess.ConnectionString = ConfigurationManager.AppSettings[Strings.Scan_ConnectionString].ToStringSf(); #if !INSTALL_SRV //Try start stransffering service. WARNING: Should be installed. UIUtils.TryStartTransferringServiceAsync(); #endif //Load settings SettingsTable.Default.Read(); //Zero day counter if (SettingsTable.Get <DateTime>(Strings.VScan_LastStarted, DateTime.Now).Date < DateTime.Now.Date) { SettingsTable.Set(Strings.VScan_ScanCount, 0); } SettingsTable.Get <UniqueList <UserAuth> >(Strings.Transferring_AuthObjectList, new UniqueList <UserAuth>(new UserAuthComparer()) { UserAuth.DefaultAdmin, UserAuth.Rosen, UserAuth.Default }); Thread.CurrentThread.CurrentUICulture = SettingsTable.Get <CultureInfo>(Strings.Transferring_CurrentUICultureInfo, new CultureInfo("en")); ScanAppContext.QueryCountryesAsync(); //Set last started. SettingsTable.Set(Strings.VScan_LastStarted, DateTime.Now); //Start sql pool SQLWorker.Default.Start(ThreadPriority.Lowest, "VScan.SQLWorker"); //Show splash Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new SplashScreen()); //Start pipe server to the tranferring service ScanAppContext.Default = new ScanAppContext(new MainForm()); //Load SiteIDs DelegateUtils.CreateAuditIdReloadDelegate().FireAndForget(); //Set application printer //If no printer is set this will set default printer as application printer string defaultPrinterName = PrintManager.GetDefaultPrinterName(); SettingsTable.Get(Strings.VScan_ApplicationPrinterName, defaultPrinterName); //Start application Application.Run(ScanAppContext.Default); //Stop pipe server //Wait pool empty. Stop it. SQLWorker.Default.Empty.WaitOne(); SQLWorker.Default.Stop(); //Save settings SettingsTable.Default.Save(); //Unregister application error handler ThreadBase.Error -= OnError; Application.ThreadException -= OnError; SQLWorker.Default.Error -= OnError; SettingsTable.Default.Error -= OnError; }