public void PortDataReceived(DistanceParameter param) { if (param.AuxiliaryCommand == 0) { DbHelper.Db.Update <CardInfo>(_mCardInfo); this.Tag = _mCardInfo; Close(); } else { MessageBox.Show("请确认定距卡是否放置在读写区域内", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 端口数据接收 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } this.Invoke(new EventHandler(delegate { if (tb_NewPwd.TextLength == 0) { return; } try { if (param.FunctionAddress == 65) { DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); if (distanceparam.Command == 160) { if (distanceparam.AuxiliaryCommand == 0)//成功 { DisplayContent("多功能操作平台口令设置成功,请保管好口令。", Color.Black); ClearTxt(); } else//失败 { DisplayContent("多功能操作平台口令设置失败,请重新操作。"); } } else { DisplayContent("未知数据内容。"); } } else { DisplayContent("未知数据内容。"); } } catch (Exception ex) { CustomExceptionHandler.GetExceptionMessage(ex); MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } })); }
private void SerialPortDataReceived(ParsingParameter param) { if (PortHelper.IsConnection) { return; } if (param.FunctionAddress == 65) { DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); if (distanceparam.Command == 160) { PortHelper.IsConnection = true; } } }
public void PortDataReceived(DistanceParameter param) { if (param.AuxiliaryCommand == 0) { DbHelper.Db.Update <CardInfo>(_mBundledViceCard); _mCardInfo.CardTime = GetViceCardMaxtime(); DbHelper.Db.Update <CardInfo>(_mCardInfo); OnDelayDataChange(_mCardInfo, _mBundledViceCard); Close(); } else { MessageBox.Show("请确认定距卡是否放置在读卡区域内", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
/// <summary> /// 端口数据接收事件 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } if (param.FunctionAddress == 65) { DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); if (distanceparam.Command == 27) { SetUpdateCardData(distanceparam.AuxiliaryCommand); } } }
/// <summary> /// 端口数据接收事件 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } try { if (param.FunctionAddress == 65) { StopTimeOut(); //解析数据内容 DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); if (distanceparam.Command == 27) //定距卡写入 { if (distanceparam.AuxiliaryCommand == 0) //成功 { Dbhelper.Db.Update <CbCardInfo>(_mCardInfo); Dbhelper.Db.Update <CbCardCountingState>(_mCardCounting); this.Tag = _mCardInfo; this.DialogResult = DialogResult.OK; } else { MessageBox.Show("定距卡写入失败,请将定距卡放置在发行器可读写区域内,重新操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } catch (Exception ex) { CustomExceptionHandler.GetExceptionMessage(ex); MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btn_Enter.Enabled = true; } }
/// <summary> /// 端口接收事件 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } this.Invoke(new EventHandler(delegate { if (param.FunctionAddress == 65) { DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); if (distanceparam.Command == 27) { UnlockDistanceCard(distanceparam.AuxiliaryCommand); } } })); }
public void PortDataReceived(DistanceParameter param) { RegisterCards(param.CardNumber, param.AuxiliaryCommand); }
/// <summary> /// 端口数据接收 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } this.Invoke(new EventHandler(delegate { if (tb_OldPwd.TextLength == 0) { return; } try { if (param.FunctionAddress == 65) { DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); switch (distanceparam.Command) { case 13: //卡密码 switch (distanceparam.AuxiliaryCommand) { case 0: if (distanceparam.TypeParameter.CardType == CardTypes.PasswordMistake) { DisplayContent("5 米定距卡:" + distanceparam.CardNumber + " 加载失败。", (int)distanceparam.TypeParameter.CardType, Color.Red); } else { DisplayContent("5 米定距卡:" + distanceparam.CardNumber + " 加载成功。", (int)distanceparam.TypeParameter.CardType, Color.Black); } break; case 8: DisplayContent("5 米定距卡加载结束。", Color.Black); p_Top.Enabled = true; IsEnd = true; SetDevicedNewPwd(); break; default: DisplayContent("5 米定距卡加载失败,请将 5 米定距卡放置在读写区域内,请重新操作。"); p_Top.Enabled = true; break; } break; case 160: //设备密码 if (!IsEnd) { if (distanceparam.AuxiliaryCommand == 0) //成功 { DisplayContent("多功能操作平台初始化设置成功,进行 5 米定距卡口令加载。", Color.Black); PortHelper.SerialPortWrite(PortAgreement.GetDistanceCardEncryption(Dal_DevicePwd.DistanceSystemPassword.Pwd)); } else //失败 { DisplayContent("多功能操作平台初始化设置失败,请重新操作。"); p_Top.Enabled = true; } } else { if (distanceparam.AuxiliaryCommand != 0) { SetDevicedNewPwd(); } } break; default: DisplayContent("未知数据内容。"); p_Top.Enabled = true; break; } } else { DisplayContent("未知数据内容。"); p_Top.Enabled = true; } } catch (Exception ex) { DisplayContent(ex.Message); p_Top.Enabled = true; CustomExceptionHandler.GetExceptionMessage(ex); } })); }
/// <summary> /// 端口数据接收事件 /// </summary> /// <param name="param"></param> private void SerialPortDataReceived(ParsingParameter param) { if (!PortHelper.IsConnection) { return; } if (PortHelper.CurrentForm != this) { return; } try { if (param.FunctionAddress == 65) { StopTimeOutThread(); //解析数据内容 DistanceParameter distanceparam = DataParsing.DistanceParsingContent(param.DataContent); if (distanceparam.Command == 27) //写入定距卡 { if (distanceparam.AuxiliaryCommand == 0) //成功 { StringBuilder sb = new StringBuilder(); StringBuilder sbRecordContent = new StringBuilder(); DateTime maxtime = DateTime.MinValue; foreach (CbAssociateCard vicecarditem in _mViceCard) { if (vicecarditem.UseState == 3 && vicecarditem.AssociateCardTime.Date != vicecarditem.UpdateTime.Date) { sb.AppendFormat(" update CBAssociateCard set UpdateTime='{0:yyyy-MM-dd}',UseState={1} where id!={2} and AssociateCardNumber='{3}' ; ", vicecarditem.UpdateTime, 1, vicecarditem.ID, vicecarditem.AssociateCardNumber); sbRecordContent.AppendFormat(" 副卡编号:{0} 时间:{1} 延期时间:{2} ", vicecarditem.AssociateCardNumber, vicecarditem.AssociateCardTime, vicecarditem.UpdateTime); } vicecarditem.AssociateCardTime = vicecarditem.UpdateTime; vicecarditem.UseState = 0; if (vicecarditem.AssociateCardTime > maxtime) { maxtime = vicecarditem.AssociateCardTime; } } if (sb.Length > 0) { //更新当前副卡的所有时间 Dbhelper.Db.ExecuteNonQuery(sb.ToString()); } //更新副卡数据 Dbhelper.Db.Update <CbAssociateCard>(_mViceCard.ToArray()); if (_mViceCardCounting != null) { _mViceCardCounting.Add(_mCardCounting); //更新计数数据 Dbhelper.Db.Update <CbCardCountingState>(_mViceCardCounting.ToArray()); } else { //更新主卡计数数据 Dbhelper.Db.Update <CbCardCountingState>(_mCardCounting); } if (_mCardInfo.StopTime.Date != maxtime.Date) { _mCardInfo.StopTime = maxtime; //更新主卡数据 Dbhelper.Db.Update <CbCardInfo>(_mCardInfo); } this.Tag = _mCardInfo; this.DialogResult = DialogResult.OK; } else { MessageBox.Show("定距卡写入失败,请将定距卡放置在发行器可读写区域内,重新操作。", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); } } } } catch (Exception ex) { CustomExceptionHandler.GetExceptionMessage(ex); MessageBox.Show(ex.Message, "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { btn_Enter.Enabled = true; } }
/// <summary> /// 端口数据接收方法 /// </summary> /// <param name="parameter"></param> public void PortDataReceived(DistanceParameter parameter) { if (_mViceCard == null) { if (parameter.AuxiliaryCommand != 0) //主卡发行失败提示下面内容 { this.Invoke(new EventHandler(delegate { btn_Enter.Enabled = true; MessageBox.Show(@"定距卡发行失败,请将定距卡放置在多功能操作平台上。", @"提示", MessageBoxButtons.OK, MessageBoxIcon.Exclamation); })); return; } else //主卡发行成功 { if (parameter.CardNumber == _mCardInfo.CardNumber) { //更新数据库数据 UpdateDistanceData(); this.Tag = _mCardInfo; } } } if (_mCardInfo.CardType == 1)//组合卡 { int index = -1; //解锁副卡 foreach (CardInfo item in _mBundledCardinfo) { index++; if (_mViceCard != null && item == _mViceCard) { if (item.CardNumber.Equals(parameter.CardNumber)) { if (parameter.AuxiliaryCommand == 0) { item.CardLock = 0; Dal.DbHelper.Db.Update <CardInfo>(item); dgv_BundledList["c_LockState", index].Value = Properties.Resources.check; //dgv_BundledList.Rows[_lockindex].DefaultCellStyle.ForeColor = Color.Green; } else { dgv_BundledList["c_LockState", index].Value = Properties.Resources.block; //dgv_BundledList.Rows[_lockindex].DefaultCellStyle.ForeColor = Color.Red; } } _mViceCard = null; continue; } if (_mViceCard != null) { continue; } if (item.CardLock != 1) { continue; } _mViceCard = item; CreateMessageLabel(); TypeParameter typeparameter = new TypeParameter() { Lock = 0, Distance = 0 }; DistanceParameterContent distanceparameter = new DistanceParameterContent() { CardNumber = item.CardNumber, Type = typeparameter, Function = null, Count = 0 }; SingleCardData?singlecarddata = null; byte[] by = DataCombination.CombinationDistanceCard(distanceparameter, singlecarddata); if (_mPort.IsOpen) { _mPort.Write(by); } return; } foreach (CardInfo item in _mViceCardInfo) { if (item.CardLock == 1) { if (_lMessage != null) { this.Controls.Remove(_lMessage); _lMessage.Dispose(); _lMessage = null; } btn_Enter.Enabled = true; MessageBox.Show("解锁副卡失败,将新添加的副卡放置在发行器可读写区域内", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } } } btn_Enter.Enabled = true; Close(); }