コード例 #1
1
        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");
            }
        }
コード例 #2
0
        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");
            }
        }
コード例 #3
0
        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();
            }
        }
コード例 #4
0
        //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);
            }
        }