Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        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;
        }