Beispiel #1
0
        /// <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);
        }