// 局部更新指纹信息高速缓存 // return: // -2 remoting服务器连接失败。驱动程序尚未启动 // -1 出错 // 0 成功 int UpdateFingerprintCache( string strBarcode, string strFingerprint, out string strError) { strError = ""; if (string.IsNullOrEmpty(this.MainForm.FingerprintReaderUrl) == true) { strError = "尚未配置 指纹阅读器URL 系统参数,无法更新指纹高速缓存"; return -1; } int nRet = StartFingerprintChannel( this.MainForm.FingerprintReaderUrl, out strError); if (nRet == -1) return -1; try { List<FingerprintItem> items = new List<FingerprintItem>(); FingerprintItem item = new FingerprintItem(); item.ReaderBarcode = strBarcode; item.FingerprintString = strFingerprint; items.Add(item); // return: // -2 remoting服务器连接失败。驱动程序尚未启动 // -1 出错 // 0 成功 nRet = AddItems(items, out strError); if (nRet == -1) return -1; if (nRet == -2) return -2; } finally { EndFingerprintChannel(); } return 0; }
// return: // -2 remoting服务器连接失败。驱动程序尚未启动 // -1 出错 // >=0 实际发送给接口程序的事项数目 int CreateFingerprintCache(DpResultSet resultset, out string strError) { strError = ""; if (string.IsNullOrEmpty(this.MainForm.FingerprintReaderUrl) == true) { strError = "尚未配置 指纹阅读器URL 系统参数,无法创建指纹高速缓存"; return -1; } int nRet = StartFingerprintChannel( this.MainForm.FingerprintReaderUrl, out strError); if (nRet == -1) return -1; try { if (resultset == null) { // 清空以前的全部缓存内容,以便重新建立 // return: // -2 remoting服务器连接失败。驱动程序尚未启动 // -1 出错 // 0 成功 nRet = AddItems(null, out strError); if (nRet == -1) return -1; if (nRet == -2) return -2; return 0; } int nSendCount = 0; long nCount = resultset.Count; List<FingerprintItem> items = new List<FingerprintItem>(); for (long i = 0; i < nCount; i++) { DpRecord record = resultset[i]; string strTimestamp = ""; string strBarcode = ""; string strFingerprint = ""; ParseResultItemString(record.BrowseText, out strTimestamp, out strBarcode, out strFingerprint); // TODO: 注意读者证条码号为空的,不要发送出去 FingerprintItem item = new FingerprintItem(); item.ReaderBarcode = strBarcode; item.FingerprintString = strFingerprint; items.Add(item); if (items.Count >= 100) { // return: // -2 remoting服务器连接失败。驱动程序尚未启动 // -1 出错 // 0 成功 nRet = AddItems(items, out strError); if (nRet == -1) return -1; if (nRet == -2) return -2; nSendCount += items.Count; items.Clear(); } } if (items.Count > 0) { // return: // -2 remoting服务器连接失败。驱动程序尚未启动 // -1 出错 // 0 成功 nRet = AddItems(items, out strError); if (nRet == -1) return -1; if (nRet == -2) return -2; nSendCount += items.Count; } // Console.Beep(); // 表示读取成功 return nSendCount; } finally { EndFingerprintChannel(); } }