try catch Init printer
Đảo thử tự InitUsers Kiểm tra đầu đọc QR
This commit is contained in:
+22
-1
@@ -1,5 +1,6 @@
|
|||||||
using DE70_CMDv2;
|
using DE70_CMDv2;
|
||||||
using Newtonsoft.Json.Linq;
|
using Newtonsoft.Json.Linq;
|
||||||
|
using SafeBagDE70.API;
|
||||||
using SafeBagDE70.Model;
|
using SafeBagDE70.Model;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
using System;
|
using System;
|
||||||
@@ -39,7 +40,6 @@ namespace SafeBagDE70
|
|||||||
{
|
{
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
InitUsers();
|
|
||||||
CDMSTATE = new CDMSTATE();
|
CDMSTATE = new CDMSTATE();
|
||||||
DeviceStatus = new DeviceStatus
|
DeviceStatus = new DeviceStatus
|
||||||
{
|
{
|
||||||
@@ -52,15 +52,25 @@ namespace SafeBagDE70
|
|||||||
Notes = "",
|
Notes = "",
|
||||||
OtherError = 0,
|
OtherError = 0,
|
||||||
};
|
};
|
||||||
|
InitUsers();
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
Log.Fatal(ex, "AppInit: "+ex.Message);
|
Log.Fatal(ex, "AppInit: "+ex.Message);
|
||||||
|
if(DeviceStatus != null)
|
||||||
|
{
|
||||||
|
DeviceStatus.Description = "Exception in AppInit: "+ex.Message;
|
||||||
|
APIModels.SendEvent(DeviceStatus);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
private static void InitUsers()
|
private static void InitUsers()
|
||||||
|
{
|
||||||
|
try
|
||||||
{
|
{
|
||||||
customerAccounts = new List<CustomerAccount>();
|
customerAccounts = new List<CustomerAccount>();
|
||||||
using (var context = new CDMDbContext())
|
using (var context = new CDMDbContext())
|
||||||
@@ -80,6 +90,17 @@ namespace SafeBagDE70
|
|||||||
}
|
}
|
||||||
CurrentCustomerAccount = customerAccounts[0];
|
CurrentCustomerAccount = customerAccounts[0];
|
||||||
}
|
}
|
||||||
|
catch(Exception ex)
|
||||||
|
{
|
||||||
|
Log.Fatal(ex, "InitUsers: " + ex.Message);
|
||||||
|
if (DeviceStatus != null)
|
||||||
|
{
|
||||||
|
DeviceStatus.Description = "Exception in InitUsers: " + ex.Message;
|
||||||
|
APIModels.SendEvent(DeviceStatus);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
public static CDMSTATE? CDMSTATE = null;
|
public static CDMSTATE? CDMSTATE = null;
|
||||||
private static DateTime CutOffTime = new DateTime(1, 1, 1, 12, 0, 0); // 12:00 noon as cut-off time
|
private static DateTime CutOffTime = new DateTime(1, 1, 1, 12, 0, 0); // 12:00 noon as cut-off time
|
||||||
|
|||||||
+13
-4
@@ -75,7 +75,7 @@ namespace SafeBagDE70
|
|||||||
int countTimer = 0;
|
int countTimer = 0;
|
||||||
CCmdRsp cCmdRsp = null;
|
CCmdRsp cCmdRsp = null;
|
||||||
bool bInitialized = false;
|
bool bInitialized = false;
|
||||||
bool bOpenPort = true;
|
bool bOpenPort = false;
|
||||||
bool bIsMaintain = false;
|
bool bIsMaintain = false;
|
||||||
MainWindow mainWindow = null;
|
MainWindow mainWindow = null;
|
||||||
Thread thread = null;
|
Thread thread = null;
|
||||||
@@ -117,6 +117,7 @@ namespace SafeBagDE70
|
|||||||
AppData.IsInTransaction = true;
|
AppData.IsInTransaction = true;
|
||||||
ResetButtons();
|
ResetButtons();
|
||||||
btnStart.IsEnabled = true;
|
btnStart.IsEnabled = true;
|
||||||
|
btnLogout.IsEnabled = true;
|
||||||
ResetTimers();
|
ResetTimers();
|
||||||
var state=GetCDMState();
|
var state=GetCDMState();
|
||||||
if(state.GetSR2()==0x1C)
|
if(state.GetSR2()==0x1C)
|
||||||
@@ -134,6 +135,8 @@ namespace SafeBagDE70
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
|
{
|
||||||
|
if(AppData.DeviceStatus!=null)
|
||||||
{
|
{
|
||||||
AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.DISCONNECT_SERIALPORT;
|
AppData.DeviceStatus.CDMStatus = (int)CDMStatusCode.DISCONNECT_SERIALPORT;
|
||||||
APIModels.SendEvent(AppData.DeviceStatus);
|
APIModels.SendEvent(AppData.DeviceStatus);
|
||||||
@@ -143,6 +146,8 @@ namespace SafeBagDE70
|
|||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void InitSerialPorts()
|
private void InitSerialPorts()
|
||||||
{
|
{
|
||||||
InitSerialPortDE70();
|
InitSerialPortDE70();
|
||||||
@@ -361,24 +366,28 @@ namespace SafeBagDE70
|
|||||||
|
|
||||||
var status = printerManager.GetStatus();
|
var status = printerManager.GetStatus();
|
||||||
var strPrinterMessage = "";
|
var strPrinterMessage = "";
|
||||||
if(status.StsNOPAPER)
|
if(status!=null)
|
||||||
|
{
|
||||||
|
if (status.StsNOPAPER)
|
||||||
{
|
{
|
||||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.PAPEROUT;
|
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.PAPEROUT;
|
||||||
StopTimers();
|
StopTimers();
|
||||||
strPrinterMessage = "MÁY IN HẾT GIẤY! ĐỀ NGHỊ THAY GIẤY";
|
strPrinterMessage = "MÁY IN HẾT GIẤY! ĐỀ NGHỊ THAY GIẤY";
|
||||||
ShowError(strPrinterMessage);
|
ShowError(strPrinterMessage);
|
||||||
}
|
}
|
||||||
else if(status.StsNEARENDPAP)
|
else if (status.StsNEARENDPAP)
|
||||||
{
|
{
|
||||||
strPrinterMessage = "MÁY IN GẦN HẾT GIẤY";
|
strPrinterMessage = "MÁY IN GẦN HẾT GIẤY";
|
||||||
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.NEARPAPEROUT;
|
AppData.DeviceStatus.PrinterStatus = (int)PrinterStatusCode.NEARPAPEROUT;
|
||||||
}
|
}
|
||||||
if(AppData.DeviceStatus.PrinterStatus!= prevPrinterStatus)
|
if (AppData.DeviceStatus.PrinterStatus != prevPrinterStatus)
|
||||||
{
|
{
|
||||||
AppData.DeviceStatus.Description = strPrinterMessage;
|
AppData.DeviceStatus.Description = strPrinterMessage;
|
||||||
APIModels.SendEvent(AppData.DeviceStatus);
|
APIModels.SendEvent(AppData.DeviceStatus);
|
||||||
prevPrinterStatus = AppData.DeviceStatus.PrinterStatus;
|
prevPrinterStatus = AppData.DeviceStatus.PrinterStatus;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
AppData.DeviceStatus.Description = AppData.CDMSTATE.CDMStatus;
|
AppData.DeviceStatus.Description = AppData.CDMSTATE.CDMStatus;
|
||||||
AppData.DeviceStatus.DeviceTime = DateTime.Now;
|
AppData.DeviceStatus.DeviceTime = DateTime.Now;
|
||||||
APIModels.SendHealthCheck(AppData.DeviceStatus);
|
APIModels.SendHealthCheck(AppData.DeviceStatus);
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
using Custom.CuCustomWndAPI;
|
using Custom.CuCustomWndAPI;
|
||||||
using HandyControl.Data;
|
using HandyControl.Data;
|
||||||
|
using SafeBagDE70.API;
|
||||||
using Serilog;
|
using Serilog;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
@@ -23,19 +24,28 @@ namespace SafeBagDE70.Services
|
|||||||
customWndAPIWrap.InitLibrary();
|
customWndAPIWrap.InitLibrary();
|
||||||
USBDevice[] usbArray = customWndAPIWrap.EnumUSBDevices();
|
USBDevice[] usbArray = customWndAPIWrap.EnumUSBDevices();
|
||||||
dev = customWndAPIWrap.OpenPrinterUSB(usbArray[0]);
|
dev = customWndAPIWrap.OpenPrinterUSB(usbArray[0]);
|
||||||
Log.Information("[PRINTER] Init Printer Successfully");
|
Log.Information("[PRINTER] Khởi tạo thành công");
|
||||||
}
|
}
|
||||||
catch (Exception ex)
|
catch (Exception ex)
|
||||||
{
|
{
|
||||||
// System.Windows.MessageBox.Show(ex.ToString());
|
Log.Information("[PRINTER] Không thể khởi tạo máy in");
|
||||||
|
|
||||||
|
AppData.DeviceStatus.PrinterStatus = 3;
|
||||||
|
AppData.DeviceStatus.Description = "[PRINTER] Không thể khởi tạo máy in";
|
||||||
|
APIModels.SendEvent(AppData.DeviceStatus);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public PrinterStatus? GetStatus()
|
public PrinterStatus? GetStatus()
|
||||||
|
{
|
||||||
|
if(dev!=null)
|
||||||
{
|
{
|
||||||
var status = dev.GetPrinterFullStatus();
|
var status = dev.GetPrinterFullStatus();
|
||||||
return status;
|
return status;
|
||||||
}
|
}
|
||||||
|
return null;
|
||||||
|
|
||||||
|
}
|
||||||
public bool IsNearPaperOut()
|
public bool IsNearPaperOut()
|
||||||
{
|
{
|
||||||
try
|
try
|
||||||
|
|||||||
+18
-25
@@ -1,4 +1,6 @@
|
|||||||
using CoreScanner;
|
using CoreScanner;
|
||||||
|
using SafeBagDE70.API;
|
||||||
|
using Serilog;
|
||||||
using System;
|
using System;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Diagnostics;
|
using System.Diagnostics;
|
||||||
@@ -16,6 +18,7 @@ using System.Windows.Media;
|
|||||||
using System.Windows.Media.Imaging;
|
using System.Windows.Media.Imaging;
|
||||||
using System.Windows.Shapes;
|
using System.Windows.Shapes;
|
||||||
using System.Xml;
|
using System.Xml;
|
||||||
|
using System.Xml.Linq;
|
||||||
|
|
||||||
namespace SafeBagDE70
|
namespace SafeBagDE70
|
||||||
{
|
{
|
||||||
@@ -103,31 +106,11 @@ namespace SafeBagDE70
|
|||||||
}
|
}
|
||||||
private async void PinCodeButton_Click(object sender, RoutedEventArgs e)
|
private async void PinCodeButton_Click(object sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
//var onScreenKeyboardProcess = new ProcessStartInfo("osk.exe")
|
|
||||||
//{
|
|
||||||
// UseShellExecute = true
|
|
||||||
//};
|
|
||||||
try
|
try
|
||||||
{
|
{
|
||||||
//var progFiles = @"C:\Program Files\Common Files\Microsoft Shared\ink";
|
|
||||||
//var keyboardPath = System.IO.Path.Combine(progFiles, "TabTip.exe");
|
|
||||||
//Process.Start(keyboardPath);
|
|
||||||
// AutomationElement.FromHandle(-1);
|
|
||||||
|
|
||||||
// string keyboardPath = @"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe";
|
|
||||||
// Process.Start(keyboardPath);
|
|
||||||
//await Launcher.LaunchUriAsync(new Uri("ms-inputapp://"));
|
|
||||||
|
|
||||||
//var onScreenKeyboardProcess = new ProcessStartInfo(@"C:\Program Files\Common Files\Microsoft Shared\ink\TabTip.exe")
|
|
||||||
//{
|
|
||||||
// UseShellExecute = true
|
|
||||||
//};
|
|
||||||
//Process.Start(onScreenKeyboardProcess);
|
|
||||||
|
|
||||||
QrCodePanel.Visibility = Visibility.Collapsed;
|
QrCodePanel.Visibility = Visibility.Collapsed;
|
||||||
PinCodePanel.Visibility = Visibility.Visible;
|
PinCodePanel.Visibility = Visibility.Visible;
|
||||||
|
|
||||||
|
|
||||||
cCoreScannerClass.BarcodeEvent -= new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
|
cCoreScannerClass.BarcodeEvent -= new _ICoreScannerEvents_BarcodeEventEventHandler(OnBarcodeEvent);
|
||||||
}
|
}
|
||||||
catch {
|
catch {
|
||||||
@@ -157,13 +140,15 @@ namespace SafeBagDE70
|
|||||||
int status; // Extended API return code
|
int status; // Extended API return code
|
||||||
|
|
||||||
cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
|
cCoreScannerClass.Open(0, scannerTypes, numberOfScannerTypes, out status);
|
||||||
|
short numberOfScanners; // Number of scanners expect to be used
|
||||||
// Subscribe for barcode events in cCoreScannerClass
|
int[] connectedScannerIDList = new int[255]; // List of scanner IDs to be returned
|
||||||
|
string outXML;
|
||||||
|
cCoreScannerClass.GetScanners(out numberOfScanners, connectedScannerIDList, out outXML, out status);
|
||||||
|
if (numberOfScanners > 0)
|
||||||
|
{
|
||||||
// Let's subscribe for events
|
// Let's subscribe for events
|
||||||
int opcode = 1001; // Method for Subscribe events
|
int opcode = 1001; // Method for Subscribe events
|
||||||
string outXML; // XML Output
|
//string outXML; // XML Output
|
||||||
string inXML = "<inArgs>" +
|
string inXML = "<inArgs>" +
|
||||||
"<cmdArgs>" +
|
"<cmdArgs>" +
|
||||||
"<arg-int>1</arg-int>" + // Number of events you want to subscribe
|
"<arg-int>1</arg-int>" + // Number of events you want to subscribe
|
||||||
@@ -173,6 +158,14 @@ namespace SafeBagDE70
|
|||||||
|
|
||||||
cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
|
cCoreScannerClass.ExecCommand(opcode, ref inXML, out outXML, out status);
|
||||||
}
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
Log.Information("Không tìm thấy đầu đọc QR");
|
||||||
|
AppData.DeviceStatus.OtherError = 1;
|
||||||
|
AppData.DeviceStatus.Description = "Không tìm thấy đầu đọc QR";
|
||||||
|
APIModels.SendEvent(AppData.DeviceStatus);
|
||||||
|
}
|
||||||
|
}
|
||||||
catch (Exception exp)
|
catch (Exception exp)
|
||||||
{
|
{
|
||||||
Console.WriteLine("Something wrong please check... " + exp.Message);
|
Console.WriteLine("Something wrong please check... " + exp.Message);
|
||||||
|
|||||||
Reference in New Issue
Block a user