using DE70_CMDv2; using Serilog; using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; namespace SafeBagDE70.Admin { /// /// Interaction logic for AdminConfigurationUC.xaml /// public partial class AdminConfigurationUC : UserControl { public AdminConfigurationUC() { InitializeComponent(); } private void btnResetCounter_Click(object sender, RoutedEventArgs e) { if (AppData.cCmdRsp != null) { Log.Information("[ADMIN] reset counter"); CCmdRsp cCmdRsp = AppData.cCmdRsp; cCmdRsp.SendDeSense(); Thread.Sleep(1000); cCmdRsp.SendXXCmd((byte)Command.CMD_DE_UNLOCK); Thread.Sleep(1000); cCmdRsp.SendDeSense(); Thread.Sleep(1000); //Event fix var recvData = cCmdRsp.recv_dat; if (recvData.dat[14] == recvData.dat[16]) { cCmdRsp.SendLock(); } else { cCmdRsp.SendEventFix(recvData.dat[16]); cCmdRsp.SendLock(); } var currentMode = cCmdRsp.GetLockParam().mode; cCmdRsp.GetLockParam().mode = Mode.MODE_COLLECTION; cCmdRsp.SendLock(); Thread.Sleep(10000); cCmdRsp.SendDeSense(); Thread.Sleep(1000); recvData = cCmdRsp.recv_dat; if (recvData.dat[14] != recvData.dat[16]) { Log.Information("[ADMIN] reset counter success"); lblCounterStatus.Text = "TRẠNG THÁI: KHỞI TẠO BỘ ĐẾM THÀNH CÔNG"; ((MainWindow)Application.Current.MainWindow).ShowWelcomeScreen(); Task.Run(() => { Thread.Sleep(2000); Dispatcher.Invoke(() => { lblCounterStatus.Text = ""; }); }); } else { Log.Information("[ADMIN] reset counter fail"); } } } private void btnOpenEscrow_Click(object sender, RoutedEventArgs e) { Log.Information("[ADMIN] Do Check"); var mainWindow = ((MainWindow)Application.Current.MainWindow); if (mainWindow!=null) mainWindow.DoCheck(); } private void btnGetCDMState_Click(object sender, RoutedEventArgs e) { var state = AppData.GetCDMState(); lblDeviceStatus.Text = state.GetFullStatus(); } private void btnSoftResetError_Click(object sender, RoutedEventArgs e) { try { var cCmdRsp = AppData.cCmdRsp; bool bSuccess = true; if (cCmdRsp != null) { cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE); var recvData = cCmdRsp.recv_dat; if (recvData.dat[14] == recvData.dat[16]) { cCmdRsp.SendLock(); } else { cCmdRsp.SendEventFix(recvData.dat[16]); } if (cCmdRsp.recv_dat.dat[0] != 0x40) { bSuccess = false; } if (bSuccess) { Thread.Sleep(1000); cCmdRsp.SendXXCmd((byte)Command.CMD_DE_RESET); Thread.Sleep(2000); cCmdRsp.SendXXCmd((byte)Command.CMD_DE_SENSE); if (cCmdRsp.recv_dat.dat[1] == 0x04 && cCmdRsp.recv_dat.dat[2] == 0x41) { lblCounterStatus.Text = "Reset lỗi thành công"; ((MainWindow)Application.Current.MainWindow).ShowWelcomeScreen(); Task.Run(() => { Thread.Sleep(2000); Dispatcher.Invoke(() => { lblCounterStatus.Text = ""; }); }); } } } } catch (Exception ex) { Log.Fatal(ex, "SoftReset"); } } } }