/// <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);
                }
            }
        }
Exemple #2
0
        /// <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;
        }
Exemple #4
0
        /// <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;
        }