/// <summary> /// 重新读取卡信息 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnReload_Click(object sender, EventArgs e) { try { string password = CurrentUser.Current.PassWordKey; bool flag = false; string[] mary1 = StringUtil.readBlock(RFIDClass.ReadCardAndReturnStatus(password, Convert.ToInt32(1))); if (mary1[4] == "11" || mary1[4] == "12") { flag = true; password = SystemConstant.StringEmpty; mary1 = StringUtil.readBlock(RFIDClass.ReadCardAndReturnStatus(password, Convert.ToInt32(1))); } if (mary1[4] != "0") { throw new Exception(RFIDClass.ConvertMeassByStatus(Convert.ToInt32(mary1[4]))); } //string[] mary6 = StringUtil.readBlock(RFIDClass.ReadCardAndReturnStatus(CurrentUser.Current.PassWordKey, Convert.ToInt32(6))); //判断当前读的卡是否能初始化的条件; 1: 卡状态为空卡255 ;2:卡状态为已充值,但最后操作时间为空 string cardStatus = string.IsNullOrEmpty(mary1[2]) ? "" : mary1[2].ToString(); //判断如果长度是16 if (cardStatus.Length >= 16) { cardStatus = HelperClass.getCardStatus(cardStatus.Substring(13, 1)); } else { cardStatus = Bouwa.ITSP2V31.Model.CardTypeInfo.CardTypeInfoDefaultCardStatus.空白卡.ToString("D"); } if (cardStatus.Equals(CardTypeInfo.CardTypeInfoDefaultCardStatus.空白卡.ToString("D")) || (cardStatus.Equals(CardTypeInfo.CardTypeInfoDefaultCardStatus.已充值.ToString("D")) && string.IsNullOrEmpty(HelperClass.DecryptByString(mary1[3] == null ? "" : mary1[3].ToString()))) || flag || "InitAgain".Equals(buttonTag) ) { //把RFID卡内编号赋值给卡内编号控件 _objCardId = mary1[0]; this.tbxCardNum.Text = string.Empty; } else { this.Close(); Bouwa.ITSP2V31.Win.CardType.CardTypeInitFail frmCardType = new Bouwa.ITSP2V31.Win.CardType.CardTypeInitFail(); //把RFID卡内编号加入到Paramter参数中 frmCardType.Parameter.Add("cardNum", mary1[0]); frmCardType.Parameter.Add("ActionType", ActionType.Init.ToString("D")); frmCardType.Parameter.Add("Id", _objId.ToString()); frmCardType.StartPosition = FormStartPosition.CenterScreen; frmCardType.ShowDialog(this); } } catch (Exception ep) { MessageBoxForm.Show(ep.Message, MessageBoxButtons.OK); return; } SetFormFromInfo(_objId); }
/// <summary> /// 对停车卡充值 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void tbnInit_Click(object sender, EventArgs e) { Bouwa.Helper.BaseForm frmCardType = new BaseForm(); ToolStripButton button = (ToolStripButton)sender; //读取卡内编号 try { string password = CurrentUser.Current.PassWordKey; bool flag = false; string[] mary1 = StringUtil.readBlock(RFIDClass.ReadCardAndReturnStatus(password, Convert.ToInt32(1))); if (mary1[4] == "11" || mary1[4] == "12") { flag = true; password = SystemConstant.StringEmpty; mary1 = StringUtil.readBlock(RFIDClass.ReadCardAndReturnStatus(password, Convert.ToInt32(1))); } if (mary1[4] != "0") { throw new Exception(RFIDClass.ConvertMeassByStatus(Convert.ToInt32(mary1[4]))); } //string[] mary6 = StringUtil.readBlock(RFIDClass.ReadCardAndReturnStatus(CurrentUser.Current.PassWordKey, Convert.ToInt32(6))); //判断当前读的卡是否能初始化的条件; 1: 卡状态为空卡255 ;2:卡状态为已充值,但最后操作时间为空 string cardStatus = string.IsNullOrEmpty(mary1[2]) ? "" : mary1[2].ToString(); if (cardStatus.Length >= 16) { cardStatus = HelperClass.getCardStatus(cardStatus.Substring(13, 1)); } else { cardStatus = Bouwa.ITSP2V31.Model.CardTypeInfo.CardTypeInfoDefaultCardStatus.空白卡.ToString("D"); } if (cardStatus.Equals(CardTypeInfo.CardTypeInfoDefaultCardStatus.空白卡.ToString("D")) || (cardStatus.Equals(CardTypeInfo.CardTypeInfoDefaultCardStatus.已充值.ToString("D")) && string.IsNullOrEmpty(HelperClass.DecryptByString(mary1[3]))) || flag || "InitAgain".Equals(button.Tag) ) { frmCardType = new Bouwa.ITSP2V31.Win.CardType.CardTypeInit(); //把RFID卡内编号加入到Paramter参数中 frmCardType.Parameter.Add("cardNum", mary1[0]); } else { frmCardType = new Bouwa.ITSP2V31.Win.CardType.CardTypeInitFail(); //把RFID卡内编号加入到Paramter参数中 frmCardType.Parameter.Add("cardNum", mary1[0]); //把RFID卡得卡面编号加入到Parameter参数中 frmCardType.Parameter.Add("cardCode", mary1[1] == null?"":mary1[1].Substring(9)); } } catch (Exception ep) { MessageBoxForm.Show(ep.Message, MessageBoxButtons.OK); return; } if (button.Tag.Equals("Init") || button.Tag.Equals("InitAgain")) { frmCardType.Parameter.Add("ActionType", ActionType.Init.ToString("D")); frmCardType.Parameter.Add("ButtonType", button.Tag.ToString()); } frmCardType.Parameter.Add("Id", dgvMain.SelectedRows[0].Cells["Id"].Value.ToString()); frmCardType.StartPosition = FormStartPosition.CenterScreen; frmCardType.ShowDialog(this); }