Files
DE70/Admin/AdminConfigurationUC.xaml.cs
T
2024-09-02 10:03:23 +07:00

100 lines
3.1 KiB
C#

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
{
/// <summary>
/// Interaction logic for AdminConfigurationUC.xaml
/// </summary>
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(2);
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();
}
}
}