コード例 #1
0
ファイル: MachineDrivers.cs プロジェクト: dimoniche/Service
 public void stopScanerPoll()
 {
     if (WorkerScanerDriver.IsWork)
     {
         WorkerScanerDriver.Abort();
     }
 }
コード例 #2
0
ファイル: MachineDrivers.cs プロジェクト: dimoniche/Service
 public void startScanerPoll()
 {
     if (!WorkerScanerDriver.IsWork)
     {
         WorkerScanerDriver.Run();
     }
 }
コード例 #3
0
ファイル: MachineDrivers.cs プロジェクト: dimoniche/Service
        /// <summary>
        /// Останов всех устройств
        /// </summary>
        /// <returns></returns>
        public bool StopAllDevice()
        {
            if (Globals.ClientConfiguration.Settings.offHardware != 1)
            {
                if (WorkerBillPollDriver != null)
                {
                    WorkerBillPollDriver.Abort();
                }
                if (CCNETDriver != null)
                {
                    CCNETDriver.closePort();
                }

                if (Globals.ClientConfiguration.Settings.offCheck != 1)
                {
                    if (WorkerBillPollDriver != null)
                    {
                        WorkerScanerDriver.Abort();
                    }
                    if (scaner != null)
                    {
                        scaner.closePort();
                    }
                }

                if (Globals.ClientConfiguration.Settings.offControl != 1)
                {
                    if (control != null)
                    {
                        control.closePort();
                    }
                }

                if (Globals.ClientConfiguration.Settings.offModem != 1)
                {
                    if (modem != null)
                    {
                        modem.closePort();
                    }
                }
            }

            return(true);
        }
コード例 #4
0
ファイル: MachineDrivers.cs プロジェクト: dimoniche/Service
        public WorkerStateStage InitAllDevice()
        {
            WorkerStateStage res = WorkerStateStage.None;

            if (!CheckSerialPort() && getCountSerialPort() < COUNT_DEVICE)
            {
                this.log.Write(LogMessageType.Error, "INIT: COM портов нет. Работа не возможна.");
                return(WorkerStateStage.NoCOMPort);
            }

            if ((Globals.ClientConfiguration.Settings.offCheck != 1 && scaner.getNumberComPort().Contains("нет")) ||
                (Globals.ClientConfiguration.Settings.offBill != 1 && CCNETDriver.getNumberComPort().Contains("нет")) ||
                printer.getNamePrinter().Contains("нет"))
            {
                // необходима настройка приложения
                this.log.Write(LogMessageType.Error, "INIT: Необходима настройка приложения");
                res = WorkerStateStage.NeedSettingProgram;
            }

            // настроим драйвер сканера
            if (Globals.ClientConfiguration.Settings.offCheck != 1 && !scaner.getNumberComPort().Contains("нет"))
            {
                this.log.Write(LogMessageType.Information, "SCANNER: Настройка сканера.");

                // не платим чеком - не нужен сканер
                if (scaner.openPort(scaner.getNumberComPort()))
                {
                    // запустим задачу ожидания сообщений от сканера
                    if (!WorkerScanerDriver.IsWork)
                    {
                        WorkerScanerDriver.Run();
                    }

                    // при старте сканер усыпим
                    scaner.Request(ZebexCommandEnum.sleep);
                }
                else
                {
                    // неудача
                    this.log.Write(LogMessageType.Error, "SCANNER: Сканер не верно настроен. Порт не доступен.");
                    res = WorkerStateStage.NeedSettingProgram;
                }
            }
            else
            {
                this.log.Write(LogMessageType.Information, "SCANNER: Сканер отключен.");
            }

            this.log.Write(LogMessageType.Information, "BILL: Настройка купюроприемникa.");

            if (Globals.ClientConfiguration.Settings.offBill != 1 && !CCNETDriver.getNumberComPort().Contains("нет"))
            {
                try
                {
                    // настроим купюроприемник
                    if (CCNETDriver.openPort(CCNETDriver.getNumberComPort()))
                    {
                        for (int i = 0; i < 24; i++)
                        {
                            CCNETDriver.bill_record[i] = new _BillRecord();
                        }

                        if (CCNETDriver.restartBill().Contains("СБОЙ"))
                        {
                            // неудача
                            this.log.Write(LogMessageType.Error, "BILL: Купюроприемник не работает или не подключен.");
                            res = WorkerStateStage.NeedSettingProgram;
                        }

                        // запустим задачу опроса купюроприемника
                        if (!WorkerBillPollDriver.IsWork)
                        {
                            WorkerBillPollDriver.Run();
                            this.log.Write(LogMessageType.Information, "BILL: Задачу Купюроприемника запустили.");
                        }
                    }
                    else
                    {
                        // неудача
                        this.log.Write(LogMessageType.Error, "BILL: Купюроприемник не верно настроен. Порт не доступен.");
                        res = WorkerStateStage.NeedSettingProgram;
                    }
                }
                catch (Exception exp)
                {
                    log.Write(LogMessageType.Error, "BILL INIT ALL: " + exp.GetDebugInformation());
                }
            }
            else
            {
                this.log.Write(LogMessageType.Error, "BILL: Купюроприемник не настроен.");
            }

            this.log.Write(LogMessageType.Information, "PRINTER: Настройка принтера.");

            if (!printer.getNamePrinter().Contains("нет"))
            {
                // настроим принтер
                if (printer.OpenPrint(Globals.ClientConfiguration.Settings.NamePrinter))
                {
                    // настроим сенсор бумаги
                }
                else
                {
                    // неудача
                    this.log.Write(LogMessageType.Error, "PRINTER: Принтер не верно настроен. Порт не доступен.");
                    res = WorkerStateStage.NeedSettingProgram;
                }

                printer.ClosePrint();
            }
            else
            {
                this.log.Write(LogMessageType.Error, "PRINTER: Принтер не настроен.");
            }

            // настроим управляющее устройство
            this.log.Write(LogMessageType.Information, "CONTROL: Настройка управлящего устройства.");

            if (Globals.ClientConfiguration.Settings.offControl != 1 && !control.getNumberComPort().Contains("нет"))
            {
                if (control.openPort(control.getNumberComPort()))
                {
                }
                else
                {
                    // неудача
                    this.log.Write(LogMessageType.Error, "CONTROL: Управляющее устройство не верно настроено. Порт не доступен.");
                    res = WorkerStateStage.NeedSettingProgram;
                }
            }
            else
            {
                this.log.Write(LogMessageType.Error, "CONTROL: Управляющее устройство не настроенo.");
            }

            // настроим драйвер модема
            this.log.Write(LogMessageType.Information, "MODEM: Настройка модема.");

            if (Globals.ClientConfiguration.Settings.offModem != 1 && !modem.getNumberComPort().Contains("нет"))
            {
                this.log.Write(LogMessageType.Information, "MODEM: Настройка модема.");

                if (modem.openPort(modem.getNumberComPort(), modem.getComPortSpeed()))
                {
                }
                else
                {
                    // неудача
                    this.log.Write(LogMessageType.Error, "MODEM: Модем не верно настроен. Порт не доступен.");
                    res = WorkerStateStage.NeedSettingProgram;
                }
            }
            else
            {
                this.log.Write(LogMessageType.Information, "MODEM: Модем отключен.");
            }

            this.log.Write(LogMessageType.Information, "INIT: Оборудование полностью настроили.");

            return(res);
        }