/// <summary> /// Searches User to enrol by reg number typed in the Search input field /// </summary> private void SetActiveUserByRegNo() { // Checking to make sure search input field is not empty if (string.IsNullOrWhiteSpace(TxtSearchUser.Text)) { MessageBox.Show("Please enter user's Reg. Number in the search field"); } else { // Variable to hold error message if any string errMsg; if (EnrollmentOperations.SetActiveUser(TxtSearchUser.Text, out errMsg)) { // Getting the parent window _parentWindow = Window.GetWindow(this); // Change the Windows current page if (_parentWindow != null) { ((WindowViewModel)_parentWindow.DataContext).CurrentPage = ApplicationPage.NewEnrollment; } } else { MessageBox.Show(errMsg); } } }
/// <summary> /// Saves Fingerprint template to UsersToEnroll file /// </summary> /// <param name="temp">The fingerprint template to save</param> /// <returns></returns> private bool SaveFingerprint(byte[] temp) { // Getting the finger whose template is to be saved if (_activeUser?.Fingers?.FirstOrDefault(a => a.Finger.IndexNumber == _activeFinger.Finger.IndexNumber) != null) { #region Save template to UsersToEnrol file in program memory // Variable to hold User currently being enrolled var user = EnrollmentOperations.GetUsersToEnrol().Users .FirstOrDefault(x => x.User.Id == _activeUser.User.Id); // The User's particular finger which is being enrolled var finger = user?.Fingers.FirstOrDefault(p => p.Finger.IndexNumber == _activeFinger.Finger.IndexNumber); if (finger != null) { // Assign gotten template to User's active finger finger.Template = temp; } #endregion #region Save template to UsersToEnrol file in a path in User's PC // Convert UsersToEnrol to JSON string var jsonString = EnrollmentOperations.GetUsersToEnrol().ConvertToJson(); // The path in user's PC to save UsersToEnrol JSON file string path = FileInformation.GetLoggedInUserFileDirectory() + @"\UsersToEnrol.json"; string errMsg; // Saving UsersToEnrol JSON file to the specified path FileInformation fileInfo = new FileInformation(); if (fileInfo.WriteFile(path, jsonString, out errMsg)) { MessageBox.Show("Fingerprint template saved succesfully!"); return(true); } else { MessageBox.Show("Failed to save fingerprint template"); return(false); } #endregion } return(false); }
/// <summary> /// Action performed when Begin enrollment button is clicked /// </summary> /// <param name="sender"></param> /// <param name="e"></param> public void BeginEnrollment_Clicked(object sender, RoutedEventArgs e) { string errMsg; if (!EnrollmentOperations.SetUsersToEnrol(out errMsg)) { MessageBox.Show(errMsg); return; } // Instance of the Application window _parentWindow = GetWindow("AppWindow"); if (_parentWindow == null) { return; } // Instance of the window hosting this page var activeWindow = Window.GetWindow(this); if (activeWindow == null) { return; } // close active page activeWindow.Close(); // Application window view model var viewModel = (WindowViewModel)_parentWindow.DataContext; // Instantiating the window properties viewModel.CurrentPage = ApplicationPage.NewEnrollmentOverlay; viewModel.PageTitle = "New Enrollment Page - Tonorp Attendance"; _parentWindow.Height = 660; _parentWindow.Width = 1220; viewModel.IsRestoreButtonVisible = true; viewModel.IsNewEnrollmentButtonVisible = true; viewModel.IsLogoutButtonVisible = true; viewModel.IsInfoButtonVisible = true; viewModel.IsWindowOverlayVisible = false; }
/// <summary> /// Default Constructor /// </summary> public NewEnrollment() { InitializeComponent(); // Setting the User whoes enrollment is currently active _activeUser = EnrollmentOperations.GetActiveUser(); // Sets the list of finger thumbnails for the user // currently being enrolled SetActiveThumbnails(); // Sets the Itemsourse of Finger thumbnail ItemControl FingerThumbnail.ItemsSource = _activeThumnails; // Triggers click event of BtnShowTemplate which in turn Sets template image for // User's finger which already has template due to previous enrollment ButtonAutomationPeer peer = new ButtonAutomationPeer(BtnShowTemplate); IInvokeProvider invokeProv = peer.GetPattern(PatternInterface.Invoke) as IInvokeProvider; invokeProv?.Invoke(); DataContext = this; }