Esempio n. 1
0
        private void buttonDataImport_Click(object sender, EventArgs e)
        {
            Program.logEvent("User has selected to import data files");
            ImportFromUSBForm Importer = new ImportFromUSBForm();

            YesNoForm BoxesorAdmin = new YesNoForm(LanguageTranslation.IMPORT_QUESTION);

            BoxesorAdmin.ChangeButtonFontSize(30);
            BoxesorAdmin.ChangeTextYesButton(LanguageTranslation.USER);
            BoxesorAdmin.ChangeTextNoButton(LanguageTranslation.ACCESS);

            BoxesorAdmin.ShowDialog();
            if (BoxesorAdmin.YesResult)
            {
                Program.logEvent("User has selected to import User data files");
                Importer.ImportType = ImportType.User;
            }
            else if (!BoxesorAdmin.YesResult)
            {
                Program.logEvent("User has selected to import Access Code data files");
                Importer.ImportType = ImportType.AccessCode;
            }
            Importer.Arrived = false;
            Importer.ShowDialog();
        }
Esempio n. 2
0
        private void buttonAdd_Click(object sender, EventArgs e)
        {
            Program.logEvent("User selected to add a new user");
            try
            {
                YesNoForm doAnotherDlg = new YesNoForm(LanguageTranslation.ADD_ANOTHER_USER);
                do
                {
                    string IDNumber = "";

                    //need to add swipe feature  TBD

                    LongNameEntryForm IDForm = new LongNameEntryForm(Program.USER_ID_LENGTH, false, false);
                    IDForm.UseSpaceBar = true;
                    IDForm.DialogTitle = LanguageTranslation.ENTER_ID;
                    IDForm.ShowDialog();

                    if (IDForm.Ok)
                    {
                        IDNumber = IDForm.Description;
                        Program.logEvent("User entered new user ID: " + IDNumber);

                        if (!Program.userMgr.IsUnique(IDNumber))
                        {
                            Program.logEvent("The user ID Number entered is not unique. User not added");
                            Program.ShowErrorMessage(LanguageTranslation.ID_NUM_NOT_UNIQUE, 3000);
                            return;
                        }
                    }
                    else
                    {
                        Program.logEvent("User cancelled addition");
                        return;
                    }

                    User user = new User(IDNumber);
                    AddUser(user);
                    Program.ShowErrorMessage(LanguageTranslation.USER_ADDED, 2500);

                    ModifyUsersForm ModifyNewUser = new ModifyUsersForm(user);
                    ModifyNewUser.ShowDialog();

                    doAnotherDlg.ShowDialog();
                } while (doAnotherDlg.YesResult);

                Program.userMgr.SaveFile();

                threeDArrayCreateAndSort();
            }
            catch (Exception ex)
            {
                throw new Exception("AddUsersForm:AddUser exception: " + ex.Message);
            }
        }
Esempio n. 3
0
        public bool EnrollFingerprints(string Userid, int Timeout, BiometricDataManager BioDataManager)
        {
            List <Fmd> PreenrollmentFmds = new List <Fmd>();

            if (Reader.Open(Constants.CapturePriority.DP_PRIORITY_EXCLUSIVE) != Constants.ResultCode.DP_SUCCESS)
            {
                Reader.Dispose();
                throw new Exception("Biometric Scanner Failed\r\nto Open for\r\nEnrollment");
            }

            GetStatus();

            DataResult <Fmd> resultEnrollment; int enrollmentcount = 0;

            SetLabelText(labelMessage, LanguageTranslation.NEW_SCAN_FINGERPRINT);
            do
            {
                CaptureResult Result = Reader.Capture(Constants.Formats.Fid.ANSI, Constants.CaptureProcessing.DP_IMG_PROC_DEFAULT, Timeout, Reader.Capabilities.Resolutions.First <int>());
                if (!CheckCaptureResult(Result))
                {
                    Reader.Dispose();
                    return(false);
                }
                DataResult <Fmd> resultConversion = FeatureExtraction.CreateFmdFromFid(Result.Data, Constants.Formats.Fmd.ANSI);
                PreenrollmentFmds.Add(resultConversion.Data);

                resultEnrollment = DPUruNet.Enrollment.CreateEnrollmentFmd(Constants.Formats.Fmd.ANSI, PreenrollmentFmds);
                enrollmentcount++;

                SetLabelText(labelMessage, LanguageTranslation.AGAIN_SCAN_FINGERPRINT + enrollmentcount);
            } while ((resultEnrollment.ResultCode == Constants.ResultCode.DP_ENROLLMENT_NOT_READY) && (enrollmentcount <= 6));

            if (resultEnrollment.ResultCode == Constants.ResultCode.DP_ENROLLMENT_INVALID_SET)
            {
                Reader.Dispose();
                throw new Exception("Enrollment was unsuccessful.\r\nPlease try again.");
            }
            else if (resultEnrollment.ResultCode == Constants.ResultCode.DP_ENROLLMENT_NOT_READY)
            {
                Reader.Dispose();
                throw new Exception("Enrollment did not have\r\nsufficiently good scans.");
            }

            List <string> Prints = BioDataManager.FindIDByFingerprint(resultEnrollment.Data);

            if (Prints.Count > 0)
            {
                YesNoForm clearprints = new YesNoForm(LanguageTranslation.CLEAR_FINGERPRINT_QUESTION);
                clearprints.ShowDialog();

                if (clearprints.YesResult)
                {
                    foreach (string s in Prints)
                    {
                        BioDataManager.ClearFingerprint(s);
                    }
                    Program.ShowErrorMessage(LanguageTranslation.OLD_PRINTS_CLEARED, 3000);
                }
            }

            SetLabelText(labelMessage, LanguageTranslation.SAVING_FINGERPRINTS);
            BioDataManager.AddFingerprint(Userid, resultEnrollment.Data);
            BioDataManager.SaveFile();

            PreenrollmentFmds.Clear();
            Reader.Dispose();
            Thread.Sleep(2000);
            return(true);
        }