using JwKdsV.Core; using JwKdsV.Core.Utils; using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Diagnostics; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace JwKdsV { public partial class TenantResetForm : BaseForm { private string tenantId = null; public TenantResetForm() { InitializeComponent(); this.Text = string.Format("巨为厨显初始化({0})", Application.ProductVersion); KeyboardUtils.Instance.RegisterHook(this.AppHookKeyDown); } protected override void OnLoad(EventArgs e) { base.OnLoad(e); if(Global.Instance.StoreInfo != null) { tenantId = Global.Instance.StoreInfo.TenantId; this.storeNoLabel.Text = string.Format(this.storeNoLabel.Text, Global.Instance.StoreInfo.StoreNo); this.storeNameLabel.Text = string.Format(this.storeNameLabel.Text, Global.Instance.StoreInfo.StoreName); this.posNoLabel.Text = string.Format(this.posNoLabel.Text, Global.Instance.StoreInfo.PosNo); this.tenantNoLabel.Text = string.Format(this.tenantNoLabel.Text, tenantId); } } protected override void AppHookKeyDown(object sender, KeyEventArgs e) { switch (e.KeyCode) { case Keys.Enter: this.OnInitClick(sender, e); break; case Keys.Escape: this.OnCloseClick(sender, e); break; } } protected override void OnFormClosing(FormClosingEventArgs e) { base.OnFormClosing(e); KeyboardUtils.Instance.UnRegisterHook(this.AppHookKeyDown); } private void OnInitClick(object sender, EventArgs e) { //验证密码是否正确 var pwd = this.txtPwd.Text.Trim(); if (GeneratePwd().Equals(pwd)) { if(MessageBox.Show("确认要初始化吗?", "初始化确认", MessageBoxButtons.OKCancel) == DialogResult.OK) { using (var db = Global.Instance.OpenDataBase) { db.Execute("delete from [pos_authc];"); db.Execute("delete from [pos_order];"); db.Execute("delete from [pos_order_item];"); } this.ShowMessage(this.labelInfo, "重置成功!确定后系统会重启。", true); MessageBox.Show("重置成功!确定后系统会重启。"); Application.ExitThread(); Application.Exit(); Application.Restart(); Process.GetCurrentProcess().Kill(); } } else { this.ShowMessage(this.labelInfo, "密码错误!", true); } } /// /// 生成动态密码 租户 + 当前年月日 /// /// private string GeneratePwd() { return tenantId + DateTime.Now.ToString("yyyyMMdd"); } private void OnCloseClick(object sender, EventArgs e) { this.Close(); } private void OnKeyboardButtonClick(object sender, Component.LoginKeyboardEventArgs e) { var keyCode = e.Key; switch (keyCode) { case "clear": this.ActiveControl.Text = ""; break; default: InputSimulatorUtils.SendKey(KeyCodes.Map[keyCode]); break; } } } }