Download attendance photo names from device.
Device number
When iFlag is 0, download all photos from device. When iFlag is 1, download photo between
Begin time, format: YYYY-MM-DD hh:mm:ss
End time, format: YYYY-MM-DD hh:mm:ss
Attendance photo names. Format: verify succeed photo(\t delimiter) + \n + verify failed photo(\t delimiter)
Return True if it is successful, or return False.
None
/// <summary> /// Download attendance photo names from device. /// </summary> /// <param name="phtoName">jpg name of photo</param> /// <param name="Flag">When iFlag is 0, download all photos from device. When iFlag is 1, download photo between</param> /// <param name="startTime">Begin time, format: YYYY-MM-DD hh:mm:ss</param> /// <param name="endTime">End time, format: YYYY-MM-DD hh:mm:ss</param> /// <param name="IP"> Ip of device </param> /// <param name="Port"> Port of Device </param> /// <param name="MachineNumber"> Device Number </param> /// <returns></returns> private List<string> GetPhotoNamesByTime(string phtoName, int Flag, string startTime, string endTime, string IP = "10.0.0.44", int Port = 4370, int MachineNumber = 1) { //Create Standalone SDK class dynamicly. zkemkeeper.CZKEMClass axCZKEM1 = new zkemkeeper.CZKEMClass(); axCZKEM1.Connect_Net(IP, Port); int idwErrorCode = 0; List<string> list = new List<string>(); string allPhotoName = ""; string[] allPhtoNameTrue; if (axCZKEM1.GetPhotoNamesByTime(MachineNumber, Flag, startTime, endTime, out allPhotoName)) { string[] allPhtoNameTmp = allPhotoName.Split('\n'); if (allPhtoNameTmp.Length > 0) { if (allPhtoNameTmp.Length >= 1) { allPhtoNameTrue = allPhtoNameTmp[0].Split('\t'); for (int i = 0; i < allPhtoNameTrue.Length - 1; i++) { list.Add(allPhtoNameTrue[i]); } MessageBox.Show("All Photo Name:" + allPhtoNameTrue[0], "Success"); } if (allPhtoNameTmp.Length == 2) { string[] allPhtoNameFalse = allPhtoNameTmp[1].Split('\t'); for (int i = 0; i < allPhtoNameFalse.Length - 1; i++) { list.Add(allPhtoNameFalse[i]); } MessageBox.Show("All Photo Name:" + allPhtoNameFalse[0], "Success"); } } MessageBox.Show("GetPhotoNamesByTime,iFlag:" + Flag.ToString() + "PhtoNameCount:" + list.Count.ToString(), "Success"); } else { axCZKEM1.GetLastError(ref idwErrorCode); MessageBox.Show("Operation failed,ErrorCode=" + idwErrorCode.ToString(), "Error"); } return list; }
''' <summary> ''' Download attendance photo names from device. ''' </summary> ''' <param name="phtoName">jpg name of photo</param> ''' <param name="Flag">When iFlag is 0, download all photos from device. When iFlag is 1, download photo between</param> ''' <param name="startTime">Begin time, format: YYYY-MM-DD hh:mm:ss</param> ''' <param name="endTime">End time, format: YYYY-MM-DD hh:mm:ss</param> ''' <param name="IP"> Ip of device </param> ''' <param name="Port"> Port of Device </param> ''' <param name="MachineNumber"> Device Number </param> ''' <returns></returns> Private Function GetPhotoNamesByTime(phtoName As String, Flag As Integer, startTime As String, endTime As String, Optional IP As String = "10.0.0.44", Optional Port As Integer = 4370, Optional MachineNumber As Integer = 1) As List(Of String) 'Create Standalone SDK class dynamicly. Dim axCZKEM1 As zkemkeeper.CZKEMClass = New zkemkeeper.CZKEMClass() axCZKEM1.Connect_Net(IP, Port) Dim idwErrorCode As Integer = 0 Dim list As List(Of String) = New List(Of String)() Dim allPhtoNameTrue As String() Dim allPhotoName As String = "" If axCZKEM1.GetPhotoNamesByTime(MachineNumber, Flag, startTime, endTime, allPhotoName) Then Dim allPhtoNameTmp As String() = allPhotoName.Split("·") If allPhtoNameTmp.Length > 0 Then If allPhtoNameTmp.Length >= 1 Then allPhtoNameTrue = allPhtoNameTmp(0).Split("·") For i As Integer = 0 To allPhtoNameTrue.Length - 1 - 1 list.Add(allPhtoNameTrue(i)) Next MessageBox.Show("All Photo Name:" & allPhtoNameTrue(0), "Success") End If If allPhtoNameTmp.Length = 2 Then Dim allPhtoNameFalse As String() = allPhtoNameTmp(1).Split("·"c) For i As Integer = 0 To allPhtoNameFalse.Length - 1 - 1 list.Add(allPhtoNameFalse(i)) Next MessageBox.Show("All Photo Name:" & allPhtoNameFalse(0), "Success") End If End If MessageBox.Show("GetPhotoNamesByTime,iFlag:" & Flag.ToString() & "PhtoNameCount:" & list.Count.ToString(), "Success") Else axCZKEM1.GetLastError(idwErrorCode) MessageBox.Show("Operation failed,ErrorCode=" & idwErrorCode.ToString(), "Error") End If Return list End Function