diff --git a/FaceRecogAttendance/FaceRecogAttendance.xcworkspace/xcuserdata/Lucas.xcuserdatad/UserInterfaceState.xcuserstate b/FaceRecogAttendance/FaceRecogAttendance.xcworkspace/xcuserdata/Lucas.xcuserdatad/UserInterfaceState.xcuserstate index 232367459a548956cecf15c0c6c9b50aa835c5da..0117166c73664a5a5f2a36f0e73fb376b4bb45b9 100644 Binary files a/FaceRecogAttendance/FaceRecogAttendance.xcworkspace/xcuserdata/Lucas.xcuserdatad/UserInterfaceState.xcuserstate and b/FaceRecogAttendance/FaceRecogAttendance.xcworkspace/xcuserdata/Lucas.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/FaceRecogAttendance/FaceRecogAttendance/Controller/FaceClassificationViewController.swift b/FaceRecogAttendance/FaceRecogAttendance/Controller/FaceClassificationViewController.swift index 565a377d2b078388768f9a44aa85968d0e7ece55..56d63178717b04c708da77c5c5da7760c877410d 100644 --- a/FaceRecogAttendance/FaceRecogAttendance/Controller/FaceClassificationViewController.swift +++ b/FaceRecogAttendance/FaceRecogAttendance/Controller/FaceClassificationViewController.swift @@ -73,27 +73,29 @@ class FaceClassificationViewController: UIViewController, AVCaptureVideoDataOutp print("capture face \(capturedFaceCount) times") classifyFace(image: pixelBuffer, model: model) // if the correct face is identified, create attendance - if capturedFaceCount > 100 { + if capturedFaceCount == 100 { DispatchQueue.main.async { let alert = UIAlertController.init(title: "Verify", message: "\(self.label.text!)%, please confirm", preferredStyle: .alert) alert.addAction(UIAlertAction.init(title: "Yes", style: .default, handler: { (action) in self.verification = true print("verification is now true") + self.navigationController?.popToRootViewController(animated: true) })) alert.addAction(UIAlertAction.init(title: "No", style: .cancel, handler: nil)) self.present(alert, animated: true, completion: nil) - if self.verification == true { - let newAttendance = Attendance(studentID: "test", studentName: self.label.text!, dateCreated: Date()) - - try! self.realm?.write { - self.selectedSession?.attendances.append(newAttendance) - } - print("attendance created") - self.cameraManager.captureSession.stopRunning() - self.navigationController?.popToRootViewController(animated: true) - return +// if self.verification == true { + let name = self.label.text!.components(separatedBy: "-").first! + print(name) + let newAttendance = Attendance(studentID: "test", studentName: name, dateCreated: Date()) + + try! self.realm?.write { + self.selectedSession?.attendances.append(newAttendance) } + print("attendance created") + self.cameraManager.captureSession.stopRunning() +// return +// } } } } else { @@ -133,6 +135,7 @@ class FaceClassificationViewController: UIViewController, AVCaptureVideoDataOutp let detectFaceRequest = VNDetectFaceRectanglesRequest { (request, error) in guard let faceResults = request.results as? [VNFaceObservation], let _ = faceResults.first else { print("no faces") + self.capturedFaceCount = 0 self.faceDetected = false DispatchQueue.main.async { self.label.text = "no faces" diff --git a/FaceRecogAttendance/FaceRecogAttendance/Controller/LoginViewController.swift b/FaceRecogAttendance/FaceRecogAttendance/Controller/LoginViewController.swift index 5a281402196dc5bf855dccbc25193315b1b932ee..391d6198b8e3cc46258ff06c12b4dad7c3783186 100644 --- a/FaceRecogAttendance/FaceRecogAttendance/Controller/LoginViewController.swift +++ b/FaceRecogAttendance/FaceRecogAttendance/Controller/LoginViewController.swift @@ -12,20 +12,27 @@ class LoginViewController: UIViewController { @IBOutlet weak var emailTextField: UITextField! @IBOutlet weak var passwordTextField: UITextField! + var isLogin: Bool = false override func viewDidLoad() { super.viewDidLoad() } - func checkifAdmin(username: String, password: String) -> Bool { + func checkifAdmin(username: String, password: String){ if username == "admin" && password == "admin" { - return true + isLogin = true } - return false + isLogin = false + return } @IBAction func loginButtonPressed(_ sender: UIButton) { - - performSegue(withIdentifier: "goToAdmin", sender: self) + if isLogin == true { + performSegue(withIdentifier: "goToAdmin", sender: self) + } else { + let alert = UIAlertController.init(title: "Error", message: "Wrong login credentials", preferredStyle: .alert) + alert.addAction(UIAlertAction.init(title: "Ok", style: .cancel, handler: nil)) + self.present(alert, animated: true, completion: nil) + } } }