0

I tried to use the below function but with no luck, status return success but the finger print template not copied !!

The below code is to upload fingerprint template to the zkteco machine


string sdwEnrollNumber = string.Empty, sName = string.Empty, sTmpData = string.Empty, bool status = false;

if (objZkeeper.BeginBatchUpdate(machineNumber, iUpdateFlag))
{
    string sLastEnrollNumber = "";

    for (int i = 0; i < lstUserInfo.Count; i++)
    {
        sdwEnrollNumber = lstUserInfo[i].EnrollNumber.ToString();
        sName = lstUserInfo[i].Name;
        sTmpData = lstUserInfo[i].TmpData;
        iPrivilege = lstUserInfo[i].Privelage;

        if (sdwEnrollNumber != sLastEnrollNumber)
        {
            if (objZkeeper.SSR_SetUserInfo(machineNumber, sdwEnrollNumber, sName, sPassword, iPrivilege, bEnabled))//upload user information to the memory
            {
                bool status = objZkeeper.SetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, iFlag, sTmpData);//upload templates information to the memory
            }
            else
                return false;
        }
        else
        {
            objZkeeper.SetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, iFlag, sTmpData);
        }
    }
}

I'm getting data of user from the source machine using the below code:

while (objZkeeper.SSR_GetAllUserInfo(machineNumber, out sdwEnrollNumber, out sName, out sPassword, out iPrivilege, out bEnabled))
{
    for (idwFingerIndex = 0; idwFingerIndex < 10; idwFingerIndex++)
    {
        if (objZkeeper.GetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, out iFlag, out sTmpData, out iTmpLength))
        {
            UserInfo fpInfo = new UserInfo();
            fpInfo.MachineNumber = machineNumber;
            fpInfo.EnrollNumber = Convert.ToInt32(sdwEnrollNumber);
            fpInfo.Name = sName;
            fpInfo.FingerIndex = idwFingerIndex;
                            fpInfo.TmpData = sTmpData;
        }
    }
}
Yann39
  • 14,285
  • 11
  • 56
  • 84

1 Answers1

0

If type of your machine is TFT then try to use the SSR_SetUserTmpStr function instead of the GetUserTmpExStr function.

Jeremy Caney
  • 7,102
  • 69
  • 48
  • 77
Ahmed
  • 1
  • As it’s currently written, your answer is unclear. Please [edit] to add additional details that will help others understand how this addresses the question asked. You can find more information on how to write good answers [in the help center](/help/how-to-answer). – Jeremy Caney Apr 06 '23 at 00:10