private bool CheckMacAddress() { ShowMessage = "验证终端设置绑定的Mac地址"; //TODO:验证Mac地址 ShowMessage = "获取本地MAC地址"; List <string> localMacAdd; try { localMacAdd = GetMacAddress.GetLocalAddress(); } catch (Exception ex) { ShowMessage = "本地MAC获取失败:" + ex.Message; return(false); } ShowMessage = "本地MAC获取成功,获取SystemObject单例"; SystemObject clientObject = SystemObject.GetInstance(); if (clientObject.ClientSetting == null) { ShowMessage = "获取终端设置失败, 请检查终端编号是否正确。"; return(false); } ShowMessage = "获取SystemObject单例获取成功"; if (!string.IsNullOrEmpty(clientObject.ClientSetting.TerminalMacAddress))//mac地址不为空 { foreach (string macAdd in localMacAdd) { if (clientObject.ClientSetting.TerminalMacAddress == macAdd) { return(true); } } ShowMessage = "Mac地址验证失败,重新设置终端编号,您也可以通过本地设置程序强行将Mac地址和终端编号锁定"; return(false); } if (localMacAdd.Count > 0) { //TODO:更新终端设置 clientObject.ClientSetting.TerminalMacAddress = localMacAdd[0]; } try { if (!string.IsNullOrEmpty(TerminalOperatorService.UpdateTeminalSetting(clientObject.ClientSetting))) { ShowMessage = "尝试锁定终端设置的时候出现错误。"; return(false); } return(true); } catch { ShowMessage = "尝试锁定终端设置的时候出现错误。"; return(false); } }
private void button2_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(this.txtTerminalNum.Text)) { toolTip1.SetToolTip(txtTerminalNum, "请输入终端号"); toolTip1.Show("请输入终端号", txtTerminalNum, 5000); return; } if (terminal == null) { toolTip1.SetToolTip(txtTerminalNum, "终端编号错误"); toolTip1.Show("终端编号错误", txtTerminalNum, 5000); return; } else if (terminal.TerminalMacAddress != GetMacAddress.GetLocalAddress()[0]) { DialogResult result = MessageBox.Show("本机MAC地址和该编号绑定的MAC地址不一致,程序将只更新服务器上的配置,而不将编号保存到本地,是否继续?", "提示", MessageBoxButtons.YesNo); if (result == System.Windows.Forms.DialogResult.Yes) { GetNewConfig(); if (SeatManage.Bll.ClientConfigOperate.UpdateTerminal(baseConfig.WCFConnString, terminal)) { lblResultMessage.Text = "修改成功"; } else { lblResultMessage.Text = "修改失败"; } } } else { baseConfig.TerminalNum = this.txtTerminalNum.Text; if (!ReadSeatClientConfig.SaveConfig(baseConfig)) { MessageBox.Show("文件保存失败,请检查配置文件的属性是否为只读。"); } GetNewConfig(); if (SeatManage.Bll.ClientConfigOperate.UpdateTerminal(baseConfig.WCFConnString, terminal)) { lblResultMessage.Text = "修改成功"; } else { lblResultMessage.Text = "修改失败,详情见错误日志"; } } }
private void SeatManageConfigTool_Load(object sender, EventArgs e) { Code.HostConfig hostconfig = new Code.HostConfig(); Code.ClientBasicConfig clientconfig = new Code.ClientBasicConfig(); Code.CardReaderBasicConfig cardReaderConfig = new Code.CardReaderBasicConfig(); Code.WebConfigSetting webConfigSeeting = new Code.WebConfigSetting(); Code.LeaveClientBesicConfig leaveConfigSetting = new Code.LeaveClientBesicConfig(); Code.DeviceSettingConfig deviceSettingConfig = new Code.DeviceSettingConfig(); Code.ShutDownConfig shutDownConfig = new Code.ShutDownConfig(); if (Code.ReadSeatHostConfigV3.ReadConfig(ref hostconfig)) { foreach (string server in hostconfig.HostServer) { if (server == "WcfHost") { cb_WCF.Checked = true; } else if (server == "MonitorService") { cb_Watch.Checked = true; } else if (server == "DataTransferService") { cb_DT.Checked = true; } } txt_DBIP.Text = hostconfig.DBIP; txt_DBName.Text = hostconfig.DBName; txt_DBpw.Text = hostconfig.DBPW; txt_DBUser.Text = hostconfig.DBUser; txt_SeverWCFConnString.Text = hostconfig.WCFString; txt_weixinendportwcf.Text = hostconfig.WeChatWCFString; txt_FilePath.Text = hostconfig.MediaFilePath; txt_ServerSchoolNo.Text = hostconfig.SchoolNo; txt_ServerLoopTime.Text = hostconfig.LoopTime; txt_Uploadtime.Text = hostconfig.UploadTime; if (Code.WebConfig.ReadConfig(ref webConfigSeeting)) { cb_web_pw_change.Checked = webConfigSeeting.IsChangePW; } else { MessageBox.Show("无法自动获取管理网站配置文件,请确保和Host服务文件夹放置在同一目录,并且文件夹为“SeatManageWebV5”"); gb_web.Enabled = false; } foreach (Control c in tabControl1.TabPages[1].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[2].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[3].Controls) { c.Enabled = false; } } else if (Code.ReadSeatClientConfig.GetSeatClientBaseConfig(ref clientconfig) && Code.CardReaderConfig.GetCardReaderBaseConfig(ref cardReaderConfig, "Select")) { clientmode = "Select"; txt_clientwcfstring.Text = clientconfig.WCFConnString; txt_schoolno.Text = clientconfig.SchoolNo; txt_campusno.Text = clientconfig.CampusNo; txt_deviceno.Text = clientconfig.TerminalNum; txt_defualtmedia.Text = clientconfig.DefaultMedia; txt_adloop.Text = clientconfig.SCLoopTime; txt_sentloop.Text = clientconfig.SentStatusTime; txt_update.Text = clientconfig.UpdateTime; txt_mac.Text = GetMacAddress.GetLocalAddress()[0]; gb_xzx.Enabled = false; gb_mh.Enabled = false; gb_fk.Enabled = false; gb_gz.Enabled = false; gb_cut.Enabled = false; gb_dz.Enabled = false; switch (cardReaderConfig.CardReaderTye) { case 0: rb_mh.Checked = true; break; case 1: rb_xzx.Checked = true; break; case 2: rb_fk.Checked = true; break; case 3: rb_gz.Checked = true; break; case 4: rb_cut.Checked = true; break; case 5: rb_dz.Checked = true; break; } if (cardReaderConfig.CardID10Or16 == 10) { fk_10.Checked = true; rb_10.Checked = true; } else { fk_16.Checked = true; rb_16.Checked = true; } cb_Isbeep.Checked = cardReaderConfig.IsBeep; fk_port.Text = cardReaderConfig.FKport; txt_xzx_ip.Text = cardReaderConfig.XZX_ServerEndPort; txt_xzx_sys.Text = cardReaderConfig.XZX_SysCode; txt_xzx_tre.Text = cardReaderConfig.XZX_TerminalNo; xzx_addreader.Checked = cardReaderConfig.XZX_AddReader; xzx_off.Checked = cardReaderConfig.XZX_Offline; if (cardReaderConfig.Hook_isCardNo) { rb_gz_cardno.Checked = true; } else { rb_gz_cardid.Checked = true; } if (cardReaderConfig.XZX_IsOnelyReaderCardId) { rb_xzx_readcardid.Checked = true; } else { rb_xzx_readcardno.Checked = true; } cb_change.Checked = cardReaderConfig.CardIDIsChange; fk_change.Checked = cardReaderConfig.CardIDIsChange; cb_add0.Checked = cardReaderConfig.IsAdd0; fk_add0.Checked = cardReaderConfig.IsAdd0; if (Code.DeviceSetting.GetDeviceSetting(ref deviceSettingConfig)) { txt_d_IP.Text = deviceSettingConfig.IP; txt_d_dns.Text = deviceSettingConfig.DNS; txt_d_getway.Text = deviceSettingConfig.Gateway; txt_d_mask.Text = deviceSettingConfig.Mask; txt_pc_name.Text = deviceSettingConfig.PCName; cb_staticIP.Checked = deviceSettingConfig.IsStaticIP; } if (Code.DeviceSetting.GetShotDownSetting(ref shutDownConfig)) { cb_sd.Checked = shutDownConfig.IsUsed; txt_sd_h.Text = shutDownConfig.ShutDownHour; txt_sd_m.Text = shutDownConfig.ShutDownMin; txt_sd_s.Text = shutDownConfig.ShutDownWaitSec; } foreach (Control c in tabControl1.TabPages[0].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[2].Controls) { c.Enabled = false; } tabControl1.SelectedIndex = 1; } else if (Code.LeaveClientConfig.GetLeaveClientConfig(ref leaveConfigSetting) && Code.CardReaderConfig.GetCardReaderBaseConfig(ref cardReaderConfig, "Leave")) { clientmode = "Leave"; txt_leave_wcfconn.Text = leaveConfigSetting.WCFConnString; switch (leaveConfigSetting.LeaveMode) { case "0": rb_leave_s.Checked = true; break; case "1": rb_leave_sl.Checked = true; break; case "2": rb_leave_l.Checked = true; break; case "3": rb_leave_s.Checked = true; break; } if (leaveConfigSetting.SetUpMode == "1") { rb_win_max.Checked = true; } else { rb_win_min.Checked = true; } gb_xzx.Enabled = false; gb_mh.Enabled = false; gb_fk.Enabled = false; gb_gz.Enabled = false; gb_cut.Enabled = false; gb_dz.Enabled = false; switch (cardReaderConfig.CardReaderTye) { case 0: rb_mh.Checked = true; break; case 1: rb_xzx.Checked = true; break; case 2: rb_fk.Checked = true; break; case 3: rb_gz.Checked = true; break; case 4: rb_cut.Checked = true; break; case 5: rb_dz.Checked = true; break; } if (cardReaderConfig.CardID10Or16 == 10) { fk_10.Checked = true; rb_10.Checked = true; } else { fk_16.Checked = true; rb_16.Checked = true; } cb_Isbeep.Checked = cardReaderConfig.IsBeep; fk_port.Text = cardReaderConfig.FKport; txt_xzx_ip.Text = cardReaderConfig.XZX_ServerEndPort; txt_xzx_sys.Text = cardReaderConfig.XZX_SysCode; txt_xzx_tre.Text = cardReaderConfig.XZX_TerminalNo; xzx_addreader.Checked = cardReaderConfig.XZX_AddReader; xzx_off.Checked = cardReaderConfig.XZX_Offline; if (cardReaderConfig.Hook_isCardNo) { rb_gz_cardno.Checked = true; } else { rb_gz_cardid.Checked = true; } if (cardReaderConfig.XZX_IsOnelyReaderCardId) { rb_xzx_readcardid.Checked = true; } else { rb_xzx_readcardno.Checked = true; } cb_change.Checked = cardReaderConfig.CardIDIsChange; fk_change.Checked = cardReaderConfig.CardIDIsChange; cb_add0.Checked = cardReaderConfig.IsAdd0; fk_add0.Checked = cardReaderConfig.IsAdd0; foreach (Control c in tabControl1.TabPages[0].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[1].Controls) { c.Enabled = false; } tabControl1.SelectedIndex = 2; } else { MessageBox.Show("获取配置文件失败,请把配置工具拷贝到宿主服务或者终端的根目录下,再次尝试!"); foreach (Control c in tabControl1.TabPages[0].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[1].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[2].Controls) { c.Enabled = false; } foreach (Control c in tabControl1.TabPages[3].Controls) { c.Enabled = false; } btnBackupProgram.Enabled = false; tabControl1.SelectedIndex = 4; } }
/// <summary> /// 验证Mac地址,如果和本地不一致,则说明编号配置错误 /// </summary> /// <returns></returns> private bool CheckMacAddress() { if (EventInitializeMessage != null) { EventInitializeMessage("验证终端设置绑定的Mac地址"); } //TODO:验证Mac地址 if (EventInitializeMessage != null) { EventInitializeMessage("获取本地MAC地址"); } List <string> localMacAdd; try { localMacAdd = GetMacAddress.GetLocalAddress(); } catch (Exception ex) { EventInitializeMessage("本地MAC获取失败:" + ex.Message); return(false); } if (EventInitializeMessage != null) { EventInitializeMessage("本地MAC获取成功,获取SystemObject单例"); } SystemObject clientObject = SystemObject.GetInstance(); if (clientObject.ClientSetting == null) { if (EventInitializeMessage != null) { EventInitializeMessage("获取终端设置失败, 请检查终端编号是否正确。"); } return(false); } if (EventInitializeMessage != null) { EventInitializeMessage("获取SystemObject单例获取成功"); } if (!string.IsNullOrEmpty(clientObject.ClientSetting.TerminalMacAddress))//mac地址不为空 { foreach (string macAdd in localMacAdd) { if (clientObject.ClientSetting.TerminalMacAddress == macAdd) { return(true); } } if (EventInitializeMessage != null) { EventInitializeMessage("Mac地址验证失败,重新设置终端编号,您也可以通过本地设置程序强行将Mac地址和终端编号锁定"); } return(false); } else { if (localMacAdd.Count > 0) { //TODO:更新终端设置 clientObject.ClientSetting.TerminalMacAddress = localMacAdd[0]; } try { if (!ClientConfigOperate.UpdateTerminal(clientObject.ClientSetting)) { if (EventInitializeMessage != null) { EventInitializeMessage("尝试锁定终端设置的时候出现错误。"); } return(false); } return(true); } catch { if (EventInitializeMessage != null) { EventInitializeMessage("尝试锁定终端设置的时候出现错误。"); } return(false); } } }