private void bnEnroll_Click(object sender, EventArgs e) { userType = 0; var registerUSerId = textBox1_SocialID.Text; ExAttDBRepo eA = new ExAttDBRepo(); ExUniDBRepo eU = new ExUniDBRepo(); var r = eA.IsRegisterdBefor(registerUSerId); if (r.Uni_ID > 0) { IsRegister = true; DisplayMessage("this Uni_ID Is registerd before", true); if (captureThread != null && captureThread.IsAlive) { Utilities.EnableControls(false, btnEnroll); } } else { IsRegister = false; } var s = eU.GetStudent(registerUSerId); var em = eU.GetEmployee(registerUSerId); if (em.Emp_ID < 1 && s.Stu_ID < 1) { DisplayMessage("this Uni_ID Is not found", true); IsRegister = true; } //else if (s.Stu_ID < 1 ) //{ // DisplayMessage("this Uni_ID Is not found", true); // IsRegister = true; //} if (!IsRegister) { ClearImage(); IsRegister = true; RegisterCount = 0; regTempLen = 0; Utilities.EnableControls(false, btnEnroll, button1, btnVerify, btnIdentify); DisplayMessage("Please press your finger " + REGISTER_FINGER_COUNT + " times to register", true); lblFingerPrintCount.Visible = true; lblFingerPrintCount.Text = REGISTER_FINGER_COUNT.ToString(); } bnInit_Click(); }
// [ CONSTRUCTOR ] public FingerPrintControl() { InitializeComponent(); ReInitializeInstance(); ComboBox_classesList.Enabled = false; ExAttDBRepo eR = new ExAttDBRepo(); var allActivatedClasses = eR.GetAllActivatedClasses().ToList(); foreach (var item in allActivatedClasses) { ComboBox_classesList.Items.Add(item.Exa_Course_CRN); } }
private void button1_CheckSOcialID_Click(object sender, EventArgs e) { userType = 0; ExAttDBRepo eA = new ExAttDBRepo(); long selectedStudentId = 0; if (textBox1_SocialID.Text.Length > 0) { selectedStudentId = long.Parse(textBox1_SocialID.Text); CanRegisterId = false; var u = new ExUniDBRepo(); var a = new ExAttDBRepo(); var allStudents = u.GetAllStudents(); var allEmployees = u.GetAllEmployees(); var selectedStudentModel = allStudents.Where(su => su.Stu_ID == selectedStudentId).FirstOrDefault(); var selectedEmoloyeeModel = allEmployees.Where(em => em.Emp_ID == selectedStudentId).FirstOrDefault(); var r = eA.IsRegisterdBefor(textBox1_SocialID.Text); if (selectedStudentModel != null && selectedStudentModel.Stu_ID > 0) { label2_searchResult.Text = selectedStudentModel.Stu_ID + "," + selectedStudentModel.Stu_First_Name + " " + selectedStudentModel.Stu_Last_Name; if (captureThread != null && captureThread.IsAlive && r.Uni_ID < 1) { CanRegisterId = true; Utilities.EnableControls(true, btnEnroll); } } else if (selectedEmoloyeeModel != null && selectedEmoloyeeModel.Emp_ID > 0) { label2_searchResult.Text = selectedEmoloyeeModel.Emp_ID + "," + selectedEmoloyeeModel.Emp_First_Name + " " + selectedEmoloyeeModel.Emp_Last_Name; if (captureThread != null && captureThread.IsAlive && r.Uni_ID < 1) { CanRegisterId = true; Utilities.EnableControls(true, btnEnroll); } } else { label2_searchResult.Text = "Not Found"; Utilities.EnableControls(false, btnEnroll); } //MessageBox.Show("Regidsterd Befor"); } else { label2_searchResult.Text = "Please fill out this field"; } }
protected override void DefWndProc(ref Message m) { ExAttDBRepo exAttDBRepo = new ExAttDBRepo(); switch (m.Msg) { case MESSAGE_CAPTURED_OK: { parentForm.statusBar.Visible = false; if (!bIdentify2 || !bIdentify) { DisplayFingerPrintImage(); } if (IsRegister) { #region -------- IF REGISTERED FINGERPRINT -------- int ret = zkfp.ZKFP_ERR_OK; int fid = 0, score = 0; ret = fpInstance.Identify(CapTmp, ref fid, ref score); if (zkfp.ZKFP_ERR_OK == ret) { int deleteCode = fpInstance.DelRegTemplate(fid); // <---- REMOVE FINGERPRINT if (deleteCode != zkfp.ZKFP_ERR_OK) { DisplayMessage(MessageManager.msg_FP_CurrentFingerAlreadyRegistered + fid, false); return; } } if (RegisterCount > 0 && fpInstance.Match(CapTmp, RegTmps[RegisterCount - 1]) <= 0) { DisplayMessage("Please press the same finger " + REGISTER_FINGER_COUNT + " times for enrollment", true); return; } Array.Copy(CapTmp, RegTmps[RegisterCount], cbCapTmp); if (RegisterCount == 0) { btnEnroll.Enabled = false; } RegisterCount++; if (RegisterCount >= REGISTER_FINGER_COUNT) { RegisterCount = 0; ret = GenerateRegisteredFingerPrint(); // <--- GENERATE FINGERPRINT TEMPLATE if (zkfp.ZKFP_ERR_OK == ret) { ret = AddTemplateToMemory(); // <--- LOAD TEMPLATE TO MEMORY if (zkfp.ZKFP_ERR_OK == ret) // <--- ENROLL SUCCESSFULL { string fingerPrintTemplate = string.Empty; zkfp.Blob2Base64String(RegTmp, regTempLen, ref fingerPrintTemplate); Utilities.EnableControls(true, button1, btnVerify, btnIdentify); Utilities.EnableControls(false, btnEnroll); MySqlConnection connection = null; try { var registerUSerId = "0"; registerUSerId = textBox1_SocialID.Text; const String SERVER = "sql248.main-hosting.eu"; const String DATABASE = "u842190477_Exattend"; const String UID = "u842190477_Admin"; const String PASSWORD = "******"; MySqlConnection dbConn; String query = @"INSERT INTO u842190477_Exattend.fingerprint(Uni_ID, Fin_Code, FingerTemplate)VALUES(" + registerUSerId + ", " + 0 + ", '" + fingerPrintTemplate + "'); "; MySqlConnectionStringBuilder builder = new MySqlConnectionStringBuilder(); builder.Server = SERVER; builder.UserID = UID; builder.Password = PASSWORD; builder.Database = DATABASE; String connString = builder.ToString(); builder = null; Console.WriteLine(connString); dbConn = new MySqlConnection(connString); MySqlCommand cmd = new MySqlCommand(query, dbConn); dbConn.Open(); cmd.ExecuteNonQuery(); cmd.Connection = connection; dbConn.Close(); } finally { if (connection != null) { connection.Close(); } } //var zz = exAttDBRepo.GetAllEmployees(); //exAttDBRepo.inserFingerPrintToDB(textBox1_SocialID.Text, fingerPrintTemplate); // GET THE TEMPLATE HERE : fingerPrintTemplate DisplayMessage(MessageManager.msg_FP_EnrollSuccessfull, true); DisconnectFingerPrintCounter(); } else { DisplayMessage(MessageManager.msg_FP_FailedToAddTemplate, false); } } else { DisplayMessage(MessageManager.msg_FP_UnableToEnrollCurrentUser + ret, false); } IsRegister = false; return; } else { int remainingCont = REGISTER_FINGER_COUNT - RegisterCount; lblFingerPrintCount.Text = remainingCont.ToString(); string message = "Please provide your fingerprint " + remainingCont + " more time(s)"; DisplayMessage(message, true); } #endregion } else if (!bIdentify2 || !bIdentify) { #region ------- IF RANDOM FINGERPRINT ------- // If unidentified random fingerprint is applied //if (regTempLen <= 0) //{ // DisplayMessage(MessageManager.msg_FP_UnidentifiedFingerPrint, false); // return; //} if ((bIdentify && userType == 1) || (bIdentify2 && userType == 2)) { int ret = zkfp.ZKFP_ERR_OK; int fid = 0, score = 0; ret = fpInstance.Identify(CapTmp, ref fid, ref score); //check if if (zkfp.ZKFP_ERR_OK == ret) { DisplayMessage(MessageManager.msg_FP_IdentificationSuccess + ret, true); return; } else { DisplayMessage(MessageManager.msg_FP_IdentificationFailed + ret, false); return; } } else { ExAttDBRepo eR = new ExAttDBRepo(); ExUniDBRepo eU = new ExUniDBRepo(); var allFingers = eR.GetAllFingers(); if (userType == 1) { var x = eU.GetAllStudents().Select(e => e.Stu_ID).ToList(); allFingers = allFingers.Where(e => x.Contains(e.Uni_ID)).ToList(); } else if (userType == 2) { var x = eU.GetAllEmployees().Select(e => e.Emp_ID).ToList(); allFingers = allFingers.Where(e => x.Contains(e.Uni_ID)).ToList(); } Finger selectedStudent = new Finger(); foreach (var item in allFingers.ToList()) { var base46Registerd = zkfp.Base64String2Blob(item.FingerTemplate); var r = fpInstance.Match(CapTmp, base46Registerd); if (r > 0) { selectedStudent = item; bool checkIsSavedthroughOneHour = eR.CheckIsSavedthroughOneHour(selectedStudent.Uni_ID, userType); if (!checkIsSavedthroughOneHour) { eR.inserAttendanceLogToDB(selectedStudent.Uni_ID); } break; } } //if id for student match the his fingerprint then show message if (selectedStudent.Uni_ID > 0) { DisplayMessage(MessageManager.msg_FP_MatchSuccess + selectedStudent.Uni_ID, true); return; } //if the match is failed then show error message else { DisplayMessage(MessageManager.msg_FP_MatchFailed /*+ ret*/, false); return; } } #endregion } } break; default: base.DefWndProc(ref m); break; } }