Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Async #1

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Binary file modified .vs/BioMatrix/v14/.suo
Binary file not shown.
45 changes: 27 additions & 18 deletions BioMetrixCore/Master.cs
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
using System.Drawing;
using System.Windows.Forms;
using System.Collections.Generic;
using System.Threading.Tasks;

namespace BioMetrixCore
{
Expand Down Expand Up @@ -81,17 +82,17 @@ private void RaiseDeviceEvent(object sender, string actionType)
}


private void btnConnect_Click(object sender, EventArgs e)
private async void btnConnect_Click(object sender, EventArgs e)
{
try
{
this.Cursor = Cursors.WaitCursor;
//this.Cursor = Cursors.WaitCursor;
ShowStatusBar(string.Empty, true);

if (IsDeviceConnected)
{
IsDeviceConnected = false;
this.Cursor = Cursors.Default;
//this.Cursor = Cursors.Default;

return;
}
Expand All @@ -105,20 +106,20 @@ private void btnConnect_Click(object sender, EventArgs e)
if (!int.TryParse(port, out portNumber))
throw new Exception("Not a valid port number");

bool isValidIpA = UniversalStatic.ValidateIP(ipAddress);
bool isValidIpA = await Task.Run(() => UniversalStatic.ValidateIP(ipAddress));
if (!isValidIpA)
throw new Exception("The Device IP is invalid !!");

isValidIpA = UniversalStatic.PingTheDevice(ipAddress);
isValidIpA = await Task.Run(() => UniversalStatic.PingTheDevice(ipAddress));
if (!isValidIpA)
throw new Exception("The device at " + ipAddress + ":" + port + " did not respond!!");

objZkeeper = new ZkemClient(RaiseDeviceEvent);
IsDeviceConnected = objZkeeper.Connect_Net(ipAddress, portNumber);
IsDeviceConnected = await Task.Run(() => objZkeeper.Connect_Net(ipAddress, portNumber));

if (IsDeviceConnected)
{
string deviceInfo = manipulator.FetchDeviceInfo(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));
string deviceInfo = await Task.Run(() => manipulator.FetchDeviceInfo(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim())));
lblDeviceInfo.Text = deviceInfo;
}

Expand Down Expand Up @@ -198,13 +199,13 @@ private void btnBeep_Click(object sender, EventArgs e)
objZkeeper.Beep(100);
}

private void btnDownloadFingerPrint_Click(object sender, EventArgs e)
private async void btnDownloadFingerPrint_Click(object sender, EventArgs e)
{
try
{
ShowStatusBar(string.Empty, true);

ICollection<UserInfo> lstFingerPrintTemplates = manipulator.GetAllUserInfo(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));
dgvRecords.DataSource = null;
ICollection<UserInfo> lstFingerPrintTemplates = await GetAllUserInfo(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));
if (lstFingerPrintTemplates != null && lstFingerPrintTemplates.Count > 0)
{
BindToGridView(lstFingerPrintTemplates);
Expand All @@ -217,17 +218,21 @@ private void btnDownloadFingerPrint_Click(object sender, EventArgs e)
{
DisplayListOutput(ex.Message);
}

}

private async Task<ICollection<UserInfo>> GetAllUserInfo(ZkemClient objZkeeper, int machineNumber)
{
ICollection<UserInfo> lstFingerPrintTemplates = await Task.Run(() => manipulator.GetAllUserInfo(objZkeeper, machineNumber));
return lstFingerPrintTemplates;
}

private void btnPullData_Click(object sender, EventArgs e)
private async void btnPullData_Click(object sender, EventArgs e)
{
try
{
ShowStatusBar(string.Empty, true);

ICollection<MachineInfo> lstMachineInfo = manipulator.GetLogData(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));
dgvRecords.DataSource = null;
ICollection<MachineInfo> lstMachineInfo = await GetLogData(objZkeeper, int.Parse(tbxMachineNumber.Text.Trim()));

if (lstMachineInfo != null && lstMachineInfo.Count > 0)
{
Expand All @@ -241,9 +246,13 @@ private void btnPullData_Click(object sender, EventArgs e)
{
DisplayListOutput(ex.Message);
}

}

private async Task<ICollection<MachineInfo>> GetLogData(ZkemClient objZkeeper, int machineNumber)
{
ICollection<MachineInfo> lstMachineInfo = await Task.Run(() => manipulator.GetLogData(objZkeeper, machineNumber));
return lstMachineInfo;
}

private void ClearGrid()
{
Expand All @@ -264,7 +273,7 @@ private void BindToGridView(object list)
UniversalStatic.ChangeGridProperties(dgvRecords);
}



private void DisplayListOutput(string message)
{
Expand Down Expand Up @@ -331,7 +340,7 @@ private void btnGetDeviceTime_Click(object sender, EventArgs e)
lstDeviceInfo.Add(new DeviceTimeInfo() { DeviceTime = deviceTime });
BindToGridView(lstDeviceInfo);
}


private void btnEnableDevice_Click(object sender, EventArgs e)
{
Expand All @@ -340,7 +349,7 @@ private void btnEnableDevice_Click(object sender, EventArgs e)

}



private void btnDisableDevice_Click(object sender, EventArgs e)
{
Expand Down
103 changes: 60 additions & 43 deletions BioMetrixCore/Utilities/DeviceManipulator.cs
Original file line number Diff line number Diff line change
@@ -1,49 +1,60 @@
using System;
using System.Collections.Generic;
using System.Text;
using System.Threading.Tasks;
using System.Threading;

namespace BioMetrixCore
{
internal class DeviceManipulator
{

public ICollection<UserInfo> GetAllUserInfo(ZkemClient objZkeeper, int machineNumber)
public async Task<ICollection<UserInfo>> GetAllUserInfo(ZkemClient objZkeeper, int machineNumber)
{
string sdwEnrollNumber = string.Empty, sName = string.Empty, sPassword = string.Empty, sTmpData = string.Empty;
int iPrivilege = 0, iTmpLength = 0, iFlag = 0, idwFingerIndex;
bool bEnabled = false;

ICollection<UserInfo> lstFPTemplates = new List<UserInfo>();

objZkeeper.ReadAllUserID(machineNumber);
objZkeeper.ReadAllTemplate(machineNumber);
bool ReadAllUserID;
ReadAllUserID = await Task.Run(() => objZkeeper.ReadAllUserID(machineNumber));

while (objZkeeper.SSR_GetAllUserInfo(machineNumber, out sdwEnrollNumber, out sName, out sPassword, out iPrivilege, out bEnabled))
if (ReadAllUserID)
{
for (idwFingerIndex = 0; idwFingerIndex < 10; idwFingerIndex++)
bool ReadAllTemplate;
ReadAllTemplate = await Task.Run(() => objZkeeper.ReadAllTemplate(machineNumber));
//Thread.Sleep(5000);
if (ReadAllTemplate)
{
if (objZkeeper.GetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, out iFlag, out sTmpData, out iTmpLength))
UserInfo fpInfo;
while (objZkeeper.SSR_GetAllUserInfo(machineNumber, out sdwEnrollNumber, out sName, out sPassword, out iPrivilege, out bEnabled))
{
UserInfo fpInfo = new UserInfo();
fpInfo.MachineNumber = machineNumber;
fpInfo.EnrollNumber = sdwEnrollNumber;
fpInfo.Name = sName;
fpInfo.FingerIndex = idwFingerIndex;
fpInfo.TmpData = sTmpData;
fpInfo.Privelage = iPrivilege;
fpInfo.Password = sPassword;
fpInfo.Enabled = bEnabled;
fpInfo.iFlag = iFlag.ToString();

lstFPTemplates.Add(fpInfo);
for (idwFingerIndex = 0; idwFingerIndex < 10; idwFingerIndex++)
{
if (objZkeeper.GetUserTmpExStr(machineNumber, sdwEnrollNumber, idwFingerIndex, out iFlag, out sTmpData, out iTmpLength))
{
fpInfo = new UserInfo();
fpInfo.MachineNumber = machineNumber;
fpInfo.EnrollNumber = sdwEnrollNumber;
fpInfo.Name = sName;
fpInfo.FingerIndex = idwFingerIndex;
fpInfo.TmpData = sTmpData;
fpInfo.Privelage = iPrivilege;
fpInfo.Password = sPassword;
fpInfo.Enabled = bEnabled;
fpInfo.iFlag = iFlag.ToString();

lstFPTemplates.Add(fpInfo);
}
}
}
}

}
return lstFPTemplates;
}

public ICollection<MachineInfo> GetLogData(ZkemClient objZkeeper, int machineNumber)
public async Task<ICollection<MachineInfo>> GetLogData(ZkemClient objZkeeper, int machineNumber)
{
string dwEnrollNumber1 = "";
int dwVerifyMode = 0;
Expand All @@ -58,22 +69,25 @@ public ICollection<MachineInfo> GetLogData(ZkemClient objZkeeper, int machineNum

ICollection<MachineInfo> lstEnrollData = new List<MachineInfo>();

objZkeeper.ReadAllGLogData(machineNumber);

while (objZkeeper.SSR_GetGeneralLogData(machineNumber, out dwEnrollNumber1, out dwVerifyMode, out dwInOutMode, out dwYear, out dwMonth, out dwDay, out dwHour, out dwMinute, out dwSecond, ref dwWorkCode))


bool ReadAllGLogData;
ReadAllGLogData = await Task.Run(() => objZkeeper.ReadAllGLogData(machineNumber));
//Thread.Sleep(5000);
if (ReadAllGLogData)
{
string inputDate = new DateTime(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond).ToString();
MachineInfo objInfo;
string inputDate;
while (objZkeeper.SSR_GetGeneralLogData(machineNumber, out dwEnrollNumber1, out dwVerifyMode, out dwInOutMode, out dwYear, out dwMonth, out dwDay, out dwHour, out dwMinute, out dwSecond, ref dwWorkCode))
{
inputDate = new DateTime(dwYear, dwMonth, dwDay, dwHour, dwMinute, dwSecond).ToString();

MachineInfo objInfo = new MachineInfo();
objInfo.MachineNumber = machineNumber;
objInfo.IndRegID = int.Parse(dwEnrollNumber1);
objInfo.DateTimeRecord = inputDate;
objInfo = new MachineInfo();
objInfo.MachineNumber = machineNumber;
objInfo.IndRegID = int.Parse(dwEnrollNumber1);
objInfo.DateTimeRecord = inputDate;

lstEnrollData.Add(objInfo);
lstEnrollData.Add(objInfo);
}
}

return lstEnrollData;
}

Expand All @@ -86,10 +100,11 @@ public ICollection<UserIDInfo> GetAllUserID(ZkemClient objZkeeper, int machineNu
int dwEnabled = 0;

ICollection<UserIDInfo> lstUserIDInfo = new List<UserIDInfo>();
UserIDInfo userID;

while (objZkeeper.GetAllUserID(machineNumber, ref dwEnrollNumber, ref dwEMachineNumber, ref dwBackUpNumber, ref dwMachinePrivelage, ref dwEnabled))
{
UserIDInfo userID = new UserIDInfo();
userID = new UserIDInfo();
userID.BackUpNumber = dwBackUpNumber;
userID.Enabled = dwEnabled;
userID.EnrollNumber = dwEnrollNumber;
Expand All @@ -112,13 +127,19 @@ public void GetGeneratLog(ZkemClient objZkeeper, int machineNumber, string enrol
int idwFingerIndex = 0;// [ <--- Enter your fingerprint index here ]
int iFlag = 0;

objZkeeper.ReadAllTemplate(machineNumber);

while (objZkeeper.SSR_GetUserInfo(machineNumber, enrollNo, out name, out password, out previlage, out enabled))
bool ReadAllTemplate;
ReadAllTemplate = objZkeeper.ReadAllTemplate(machineNumber);
if (ReadAllTemplate)
{
if (objZkeeper.GetUserTmpEx(machineNumber, enrollNo, idwFingerIndex, out iFlag, out byTmpData[0], out tempLength))

//objZkeeper.ReadAllTemplate(machineNumber);

while (objZkeeper.SSR_GetUserInfo(machineNumber, enrollNo, out name, out password, out previlage, out enabled))
{
break;
if (objZkeeper.GetUserTmpEx(machineNumber, enrollNo, idwFingerIndex, out iFlag, out byTmpData[0], out tempLength))
{
break;
}
}
}
}
Expand Down Expand Up @@ -207,7 +228,6 @@ public string FetchDeviceInfo(ZkemClient objZkeeper, int machineNumber)

string returnValue = string.Empty;


objZkeeper.GetFirmwareVersion(machineNumber, ref returnValue);
if (returnValue.Trim() != string.Empty)
{
Expand All @@ -216,7 +236,6 @@ public string FetchDeviceInfo(ZkemClient objZkeeper, int machineNumber)
sb.Append(",");
}


returnValue = string.Empty;
objZkeeper.GetVendor(ref returnValue);
if (returnValue.Trim() != string.Empty)
Expand Down Expand Up @@ -258,7 +277,5 @@ public string FetchDeviceInfo(ZkemClient objZkeeper, int machineNumber)
return sb.ToString();
}



}
}
}
Loading