Exemplo n.º 1
0
 /// <summary>
 /// 走卡位停在前端前端不持卡
 /// [清除读取的磁道信息]
 /// </summary>
 /// <returns></returns>
 public string SetCardStopPositionBehaviorCatchCard()
 {
     byte[] cmd = new byte[] { 0x02, 0x00, 0x02, 0x32, 0x30, 0x03, new byte() };
     AppendBcc(cmd);
     if (!com.IsOpen)
     {
         com.OpenPort();
     }
     byte[] result = com.SendCmd(cmd);
     com.ClosePort();
     //清除缓存卡片数据
     CacheCard = null;
     return(string.Format("设置结果:{0}",
                          ASCIIEncoding.ASCII.GetString(new byte[] { result[5] })
                          ));
 }
Exemplo n.º 2
0
        /// <summary>
        /// 读卡
        /// </summary>
        public void ReadCreditCard()
        {
            if (CardContainer.Count == 0)
            {
                return;
            }
            //卡机内有卡进行读卡操作
            string cardType = GetCardType();

            if (cardType.Equals(CardType.NoCard))
            {
                throw new ApplicationException("卡机内无卡或卡片无法识别!");
            }
            if (cardType.Equals(CardType.CPU_T_0)
                ||
                cardType.Equals(CardType.CPU_T_1)
                ||
                cardType.Equals(CardType.CPU_TYPE_A)
                ||
                cardType.Equals(CardType.CPU_TYPE_B)
                )
            {//IC卡操作
                ICCard creditCard = new ICCard();
                Read(creditCard);
                this.CardContainer[0] = creditCard;
                //缓存卡片数据
                this.CacheCard = new CreditCardCacheData()
                {
                    CardNo = creditCard.CardNo, Msg2 = creditCard.Msg2
                };
            }
            else
            {//磁卡操作
                MagCard creditCard = new MagCard();
                Read(creditCard);
                this.CardContainer[0] = creditCard;
                //缓存卡片数据
                this.CacheCard = new CreditCardCacheData()
                {
                    CardNo = creditCard.CardNo, Msg2 = creditCard.Msg2
                };
            }
        }