Exemplo n.º 1
0
        public CardReaderResponse Read(bool bypassCompabilityMode = false)
        {
            var response = new CardReaderResponse {
                Status = ResponseStatuses.FAILURE
            };
            var start = DateTime.Now;

            USBHIDGlobal.Text = string.Empty;
            USBHIDGlobal.BypassCompabilityMode = bypassCompabilityMode;
            USBHIDGlobal.Wait = false;


            while (true)
            {
                if ((DateTime.Now - start).TotalSeconds >= int.Parse(ConfigurationManager.AppSettings["readTimeout"]))
                {
                    response.Status = ResponseStatuses.TIMEOUT_EXPIRED;
                    break;
                }

                if (USBHIDGlobal.Wait)
                {
                    response.Status = ResponseStatuses.SUCCESS;
                    response.Data   = USBHIDGlobal.Text;
                    break;
                }
            }

            USBHIDGlobal.Wait = true;
            USBHIDGlobal.BypassCompabilityMode = bypassCompabilityMode;

            return(response);
        }
Exemplo n.º 2
0
        /// <summary>
        ///
        /// </summary>
        public CardReaderResponse IsConnected()
        {
            var response = new CardReaderResponse {
                Status = ResponseStatuses.FAILURE
            };

            int handCom = default(int);

            try
            {
                handCom = CommOpen();

                response.Status = handCom != 0 ? ResponseStatuses.SUCCESS : ResponseStatuses.FAILURE;
            }
            catch
            {
                response.Status = ResponseStatuses.FAILURE;
            }
            finally
            {
                CommClose(_handCom);
            }

            return(response);
        }
Exemplo n.º 3
0
        /// <summary>
        ///
        /// </summary>
        /// <returns></returns>
        public CardReaderResponse Read()
        {
            var response = new CardReaderResponse {
                Status = ResponseStatuses.FAILURE
            };

            try
            {
                if ((_handCom = (UInt32)CommOpen()) != 0)
                {
                    if (GetDeviceCapabilities(_handCom, ref _inputReportByteLength, ref _outputReportByteLength) == 0)
                    {
                        DateTime start = DateTime.Now;

                        while (true)
                        {
                            if ((DateTime.Now - start).TotalSeconds >= int.Parse(ConfigurationManager.AppSettings["readTimeout"]))
                            {
                                response.Status = ResponseStatuses.TIMEOUT_EXPIRED;
                                break;
                            }

                            if (RF_DetectCard(_handCom) == 0)
                            {
                                byte   geRfIDLen = 4;
                                byte[] geRfID    = new byte[4];
                                string strBuf    = string.Empty;

                                if (RF_GetCardID(_handCom, ref geRfIDLen, ref geRfID[0]) == 0)
                                {
                                    CRT602U_BeepOn(_handCom);

                                    for (int i = 0; i < 4; i++)
                                    {
                                        strBuf += geRfID[i] < 16 ? ("0" + geRfID[i].ToString("X2")) : geRfID[i].ToString("X2");
                                    }

                                    CRT602U_BeepOff(_handCom);

                                    response.Status = ResponseStatuses.SUCCESS;
                                    response.Data   = strBuf;

                                    break;
                                }
                            }
                        }
                    }
                    else
                    {
                        response.Status = ResponseStatuses.FAILURE;
                    }
                }
                else
                {
                    response.Status = ResponseStatuses.DEVICE_NOT_FOUND;
                }
            }
            catch
            {
                response.Status = ResponseStatuses.FAILURE;
            }
            finally
            {
                try
                {
                    if (_handCom != 0)
                    {
                        CommClose(_handCom);
                    }
                }
                catch
                {
                    response.Status = ResponseStatuses.FAILURE;
                }
            }

            return(response);
        }
 public CardSwipedEventArgs(CardReaderResponse response, CardReaderException exception)
 {
     Response  = response;
     Exception = exception;
 }
 public CardSwipedEventArgs(CardReaderResponse response)
 {
     Response = response;
 }