예제 #1
0
            private void BackgroundWorker_DoWork(object sender, DoWorkEventArgs e)
            {
                StatusChanged(Status.WORKER_STARTED, "");

                while (!backgroundWorker.CancellationPending)
                {
                    //SDK Check
                    if (SDKLastStatus.Equals(MSD347SDK.Status.PRINTER_IS_OFFLINE))
                    {
                        try
                        {
                            if (MSD347SDK.SetClean() != 0)
                            {
                                StatusChanged(Status.SDK_CLEAN_ERROR, "");
                            }

                            if (MSD347SDK.SetClose() != 0)
                            {
                                StatusChanged(Status.SDK_CLOSE_ERROR, "");
                            }

                            if (AutoUsbport)
                            {
                                if (MSD347SDK.SetUsbportauto() != 0)
                                {
                                    StatusChanged(Status.SDK_SET_USB_AUTO_PORT_ERROR, "");
                                }
                            }
                            else
                            {
                                if (MSD347SDK.SetPrintport(UsbPort, Baudrate) != 0)
                                {
                                    StatusChanged(Status.SDK_SET_PRINT_PORT_ERROR, "");
                                }
                            }

                            if (MSD347SDK.SetInit() != 0)
                            {
                                StatusChanged(Status.INIT_PRINTER_ERROR, "");
                            }
                        }
                        catch (Exception ex)
                        {
                            StatusChanged(Status.INIT_PRINTER_ERROR, ex.ToString());
                        }
                    }

                    var statusCode = MSD347SDK.GetStatus();

                    //if (!LastStatus.Equals(MSD347SDK.GetStatusByCode(statusCode)))
                    //{
                    //    PrinterStatusChanged(MSD347SDK.GetStatusByCode(statusCode), "");
                    //    LastStatus = MSD347SDK.GetStatusByCode(statusCode);
                    //}

                    PrinterStatusChanged(MSD347SDK.GetStatusByCode(statusCode), "");
                    SDKLastStatus = MSD347SDK.GetStatusByCode(statusCode);

                    Thread.Sleep(1000);
                }
            }