示例#1
0
        public void GetFullHistory()
        {
            if (_monitor == null || !_monitor.Monitoring)
            {
                OnCompleted(new DriverCardCompletedEventArgs
                {
                    Operation = SmartCardReadOperation.History,
                    Exception = new Exception(Resources.EXC_NO_SMART_CARD_READERS_FOUND)
                });
                return;
            }

            SafelyWithRetry(SmartCardReadOperation.History, () =>
            {
                string xml = ReadSmartCard("/calibrations");
                if (string.IsNullOrEmpty(xml))
                {
                    OnCompleted(new DriverCardCompletedEventArgs
                    {
                        Operation = SmartCardReadOperation.History
                    });
                    return;
                }

                XDocument document = XDocument.Parse(xml);
                var history        = CalibrationRecordParser.ParseMany(document);

                OnCompleted(new DriverCardCompletedEventArgs
                {
                    Operation          = SmartCardReadOperation.History,
                    CalibrationHistory = history
                });
            });
        }
示例#2
0
        public void FastRead(bool autoRead)
        {
            if (_monitor == null || !_monitor.Monitoring)
            {
                OnCompleted(new DriverCardCompletedEventArgs
                {
                    Exception = new Exception(Resources.EXC_NO_SMART_CARD_READERS_FOUND),
                    Operation = SmartCardReadOperation.Fast
                });
                return;
            }

            SafelyWithRetry(SmartCardReadOperation.Fast, () =>
            {
                string content = ReadSmartCard(string.Empty);
                if (string.IsNullOrEmpty(content))
                {
                    OnCompleted(new DriverCardCompletedEventArgs
                    {
                        AutoRead  = autoRead,
                        Operation = SmartCardReadOperation.Fast,
                        Exception = new Exception(Resources.EXC_UNABLE_READ_SMART_CARD)
                    });
                    return;
                }

                XDocument document    = XDocument.Parse(content);
                var calibrationRecord = CalibrationRecordParser.Parse(document);

                OnCompleted(new DriverCardCompletedEventArgs
                {
                    AutoRead          = autoRead,
                    Operation         = SmartCardReadOperation.Fast,
                    CalibrationRecord = calibrationRecord
                });
            });
        }