public void Enroll(long deviceId, string userId, int finger) { var device = Devices(DeviceType.Imputed).FirstOrDefault(d => d.id == deviceId); if (device == null) return; _service = new CZKEMClass(); Connect(device); _service.CancelOperation(); _service.SSR_DelUserTmpExt(MachineNumber, userId, finger);//If the specified index of user's templates has existed ,delete it first.(SSR_DelUserTmp is also available sometimes) _service.OnEnrollFinger += (number, index, result, length) => { int flag, tmpLength; string tmpData; var enroll = _service.GetUserTmpExStr(MachineNumber, userId, finger, out flag, out tmpData, out tmpLength) ? new EnrollEventArgs(true, finger, tmpData) : new EnrollEventArgs(false, -1, null); OnEnrollCompleted(enroll); if (!enroll.Result) return; var userInfo = UsersInfo.FirstOrDefault(u => u.EnrollNumber == userId); if (userInfo == null) return; var fingerPrint = userInfo.FingerPrints.FirstOrDefault(f => f.Finger == finger); if (fingerPrint == null) userInfo.FingerPrints.Add(new FingerPrint { Finger = finger, Data = tmpData }); else fingerPrint.Data = tmpData; }; if (_service.StartEnrollEx(userId, finger, 0)) { _service.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition } else { var idwErrorCode = 0; _service.GetLastError(ref idwErrorCode); MessageBox.Show("Operation failed,ErrorCode=" + idwErrorCode, "Error"); } }
public void Enroll(long deviceId, string userId, int finger) { var device = Devices(DeviceType.Imputed).FirstOrDefault(d => d.id == deviceId); if (device == null) { return; } _service = new CZKEMClass(); Connect(device); _service.CancelOperation(); _service.SSR_DelUserTmpExt(MachineNumber, userId, finger);//If the specified index of user's templates has existed ,delete it first.(SSR_DelUserTmp is also available sometimes) _service.OnEnrollFinger += (number, index, result, length) => { int flag, tmpLength; string tmpData; var enroll = _service.GetUserTmpExStr(MachineNumber, userId, finger, out flag, out tmpData, out tmpLength) ? new EnrollEventArgs(true, finger, tmpData) : new EnrollEventArgs(false, -1, null); OnEnrollCompleted(enroll); if (!enroll.Result) { return; } var userInfo = UsersInfo.FirstOrDefault(u => u.EnrollNumber == userId); if (userInfo == null) { return; } var fingerPrint = userInfo.FingerPrints.FirstOrDefault(f => f.Finger == finger); if (fingerPrint == null) { userInfo.FingerPrints.Add(new FingerPrint { Finger = finger, Data = tmpData }); } else { fingerPrint.Data = tmpData; } }; if (_service.StartEnrollEx(userId, finger, 0)) { _service.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition } else { var idwErrorCode = 0; _service.GetLastError(ref idwErrorCode); MessageBox.Show("Operation failed,ErrorCode=" + idwErrorCode, "Error"); } }
public void Enroll(int enrollNumber, int fingerIndex) { //Enroll Service.CancelOperation(); Service.DelUserTmp(MachineNumber, enrollNumber, fingerIndex); if (Service.StartEnrollEx(enrollNumber.ToString(), fingerIndex, 1)) { Service.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition } else { ViewError(); } }
//internal DataTable getLogData() //{ // DataTable dt = new DataTable(); // dt.Columns.Add("eid"); // dt.Columns.Add("name"); // dt.Columns.Add("log_date_time"); // if (IsConnect == true) // { // string Name = ""; // string pass = ""; // int privilig = 0; // bool enabilyty = true; // string sdwEnrollNumber = ""; // int VerifyMode = 0; // int InOutMode = 0; // int Year = 0; // int Month = 0; // int Day = 0; // int Hour = 0; // int Minute = 0; // int Second = 0; // int Workcode = 0; // int idwErrorCode = 0; // DataRow newLogRow; // ZkFingerprint.EnableDevice(iMachineNumber, false);//disable the device // if (ZkFingerprint.ReadGeneralLogData(iMachineNumber))//read all the attendance records to the memory // { // while (ZkFingerprint.SSR_GetGeneralLogData(iMachineNumber, out sdwEnrollNumber, out VerifyMode, // out InOutMode, out Year, out Month, out Day, out Hour, out Minute, out Second, ref Workcode))//get records from the memory // { // //iMachineNumber, sdwEnrollNumber, Name, pass, privilig, enabilyty); // ZkFingerprint.SSR_GetUserInfo(iMachineNumber, sdwEnrollNumber, out Name, out pass, out privilig, out enabilyty); // newLogRow = dt.NewRow(); // newLogRow["eid"] = sdwEnrollNumber; // newLogRow["name"] = Name; // newLogRow["log_date_time"] = new DateTime(Year, Month, Day, Hour, Minute, Second); // dt.Rows.Add(newLogRow); // } // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // if (idwErrorCode != 0) // { // newLogRow = dt.NewRow(); // newLogRow["eid"] = "ERROR:Reading Fail"; // newLogRow["log_date_time"] = new DateTime(); // dt.Rows.Add(newLogRow); // } // else // { // newLogRow = dt.NewRow(); // newLogRow["eid"] = "ERROR:No Data"; // newLogRow["log_date_time"] = new DateTime(); // dt.Rows.Add(newLogRow); // } // } // ZkFingerprint.EnableDevice(iMachineNumber, true);//enable the device // } // return dt; //} //internal int getAvailableRecordCount() //{ // if (IsConnect == true) // { // int idwErrorCode = 0; // int iValue = 0; // ZkFingerprint.EnableDevice(iMachineNumber, false);//disable the device // if (ZkFingerprint.GetDeviceStatus(iMachineNumber, 6, ref iValue)) //Here we use the function "GetDeviceStatus" to get the record's count.The parameter "Status" is 6. // { // ZkFingerprint.EnableDevice(iMachineNumber, true);//enable the device // return iValue; // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // ZkFingerprint.EnableDevice(iMachineNumber, true);//enable the device // bool isReturnError = false; // foreach (KeyValuePair<int, string> error in errorCodes) // { // if (error.Key == idwErrorCode) // { // MessageBox.Show("Unable to connect the device, \nDevice returns an error:" + error.Value.ToString(), "USB Connection Failure", MessageBoxButton.OK, MessageBoxImage.Error); // isReturnError = true; // break; // } // } // if (!isReturnError) // { // MessageBox.Show("Unable to connect the device, Device returns an error.\nPlease restart the device and try again", "USB Connection Failure", MessageBoxButton.OK, MessageBoxImage.Error); // } // return -5; // } // } // else // { // return -5; // } //} //internal bool clearAttendanceLogdata() //{ // if (IsConnect == true) // { // int idwErrorCode = 0; // ZkFingerprint.EnableDevice(iMachineNumber, false);//disable the device // if (ZkFingerprint.ClearGLog(iMachineNumber)) // { // ZkFingerprint.RefreshData(iMachineNumber);//the data in the device should be refreshed // ZkFingerprint.EnableDevice(iMachineNumber, true);//enable the device // return true; // //MessageBox.Show("All att Logs have been cleared from terminal!", "Success"); // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // ZkFingerprint.EnableDevice(iMachineNumber, true);//enable the device // return false; // //MessageBox.Show("Operation failed,ErrorCode=" + idwErrorCode.ToString(), "Error"); // } // } // else // { // return false;// machine not connected // } //} //internal bool deleteAllUserData() //{ // if (IsConnect == true) // { // int iDataFlag = 5;// delete all user and his fingerprint data (5) // int idwErrorCode = 0; // if (ZkFingerprint.ClearData(iMachineNumber, iDataFlag)) // { // ZkFingerprint.RefreshData(iMachineNumber);//the data in the device should be refreshed // return true; // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // return false; // } // } // else // { // return false;// machine not connected // } //} //internal string setConnectedDeviceSerialNumber() //{ // int idwErrorCode = 0; // string sdwSerialNumber = ""; // if (ZkFingerprint.GetSerialNumber(iMachineNumber, out sdwSerialNumber)) // { // return sdwSerialNumber; // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // return idwErrorCode.ToString(); // } //} //internal bool enrollEmployeeByEmployeeID(string EmployeeID, string EmployeeFname) //{ // if (IsConnect == true) // { // int idwErrorCode = 0; // int iUserID = Convert.ToInt32(EmployeeID.Trim()); // int iFingerIndex = 0; // int iFlag = 1; // ZkFingerprint.CancelOperation(); // ZkFingerprint.SSR_DelUserTmpExt(iMachineNumber, EmployeeID, iFingerIndex);//If the specified index of user's templates has existed ,delete it first.(SSR_DelUserTmp is also available sometimes) // ZkFingerprint.RefreshData(iMachineNumber); // if (ZkFingerprint.SSR_SetUserInfo(iMachineNumber, EmployeeID, EmployeeFname, "", 0, true))//upload user information to the device // { // if (ZkFingerprint.StartEnrollEx(EmployeeID, iFingerIndex, iFlag)) // { // ZkFingerprint.RegEvent(iMachineNumber, 8); // this.ZkFingerprint.OnEnrollFingerEx += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(ZkFingerprint_OnEnrollFinger); // //ZkFingerprint.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition // return true; // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // return false; // } // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // return false; // } // } // else // { // return false; // } //} //internal void reEnrollEmployeeByEmployeeID(string EmployeeID, string name) //{ // if (IsConnect == true) // { // int idwErrorCode = 0; // int iUserID = Convert.ToInt32(EmployeeID.Trim()); // int iFingerIndex = 0; // int iFlag = 1; // ZkFingerprint.SSR_DelUserTmpExt(iMachineNumber, EmployeeID, iFingerIndex); // ZkFingerprint.RefreshData(iMachineNumber); // if (ZkFingerprint.StartEnrollEx(EmployeeID, iFingerIndex, iFlag)) // { // ZkFingerprint.RegEvent(iMachineNumber, 8); // this.ZkFingerprint.OnEnrollFingerEx += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(ZkFingerprint_OnEnrollFinger); // //ZkFingerprint.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition // } // else // { // ZkFingerprint.GetLastError(ref idwErrorCode); // } // } //} ////When you are enrolling your finger,this event will be triggered. public bool enrollEmployeeByEmployeeID(string employeeID, string employeeFname) { if (IsConnect == true) { int idwErrorCode = 0; int iUserID = Convert.ToInt32(employeeID.Trim()); int iFingerIndex = 0; int iFlag = 1; ZkFingerprint.CancelOperation(); ZkFingerprint.SSR_DelUserTmpExt(iMachineNumber, employeeID, iFingerIndex); //If the specified index of user's templates has existed ,delete it first.(SSR_DelUserTmp is also available sometimes) ZkFingerprint.RefreshData(iMachineNumber); if (ZkFingerprint.SSR_SetUserInfo(iMachineNumber, employeeID, employeeFname, "", 0, true)) //upload user information to the device { if (ZkFingerprint.StartEnrollEx(employeeID, iFingerIndex, iFlag)) { ZkFingerprint.RegEvent(iMachineNumber, 8); this.ZkFingerprint.OnEnrollFingerEx += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(ZkFingerprint_OnEnrollFinger); //ZkFingerprint.StartIdentify();//After enrolling templates,you should let the device into the 1:N verification condition return(true); } else { ZkFingerprint.GetLastError(ref idwErrorCode); return(false); } } else { ZkFingerprint.GetLastError(ref idwErrorCode); return(false); } } else { return(false); } }