Пример #1
0
        protected override void WndProc(ref Message message)
        {
            if (message.Msg == (int)DriverMessage.WM_DEVICE_EVENT)
            {
                if (message.WParam.ToInt32() == (Int32)DeviceEvent.FINGER_ON)
                {
                    StatusBar.Text = "Scanning Finger";

                    //CAPTURE
                    string m_CaptureFIRText;
                    err = m_SecuBSP.Capture(FIRPurpose.VERIFY);
                    if (err == BSPError.ERROR_NONE)
                    {
                        m_CaptureFIRText = m_SecuBSP.FIRTextData;

                        StatusBar.Text = "Logging In";

                        DB               db      = new DB();
                        DataTable        table   = new DataTable();
                        MySqlDataAdapter adapter = new MySqlDataAdapter();
                        db.openConnection();

                        MySqlCommand command = new MySqlCommand("SELECT * FROM `data`", db.getConnection());


                        MySqlDataReader rdr = command.ExecuteReader();

                        while (rdr.Read())
                        {
                            //VERIFYMATCH
                            err         = m_SecuBSP.VerifyMatch(m_CaptureFIRText, rdr.GetString(4));
                            DB.username = rdr.GetString(0);

                            if (err == BSPError.ERROR_NONE)
                            {
                                if (m_SecuBSP.IsMatched)
                                {
                                    AutoClosingMessageBox.Show("Access Granted", "Caption", 1500);

                                    //db.closeConnection();
                                    IsLoggedInDash = true;
                                    this.Close();
                                }
                                else
                                {
                                    AutoClosingMessageBox.Show("Finger Not recognized", "Login Error", 1000);
                                }
                            }
                        }
                    }
                }
                else if (message.WParam.ToInt32() == (Int32)DeviceEvent.FINGER_OFF)
                {
                    StatusBar.Text = "Scanner Connected";
                }
            }
            base.WndProc(ref message);
        }
Пример #2
0
 //----------------------------------------------------
 private void DisplaySecuBSPErrMsg(string funcName, BSPError errNum)
 {
     if (errNum == 0)
     {
         StatusBar.Text = funcName + "()" + " :Success";
     }
     else
     {
         StatusBar.Text = funcName + "()" + " :Error occurred. Err# = " + Convert.ToString(errNum);
     }
 }
Пример #3
0
        private void button4_Click(object sender, EventArgs e)
        {
            string m_EnrollFIRText;

            m_SecuBSP.EnableAuditData = true;
            err = m_SecuBSP.Enroll("Matric Number - " + textBox2.Text);
            if (err == BSPError.ERROR_NONE)
            {
                m_EnrollFIRText = m_SecuBSP.FIRTextData;
                StatusBar.Text  = "Registered Successfully";

                //VIEW
                string m_AuditFIR = m_SecuBSP.AuditFIRTextData;
                err = m_SecuBSP.ExportAuditData(m_AuditFIR);
                if (err == BSPError.ERROR_NONE)
                {
                    ExportImageDataStruct m_FIRImageData = m_SecuBSP.FIRImageData;

                    NumFingsLabel.Text = "Number of Fingers: " + Convert.ToString(m_FIRImageData.NumOfFingers);
                    DrawImage(m_FIRImageData.ImageData[0].Sample1, pictureBox1);

                    void DrawImage(Byte[] imgData, PictureBox picBox)
                    {
                        int    colorval;
                        Bitmap bmp = new Bitmap(m_FIRImageData.ImageWidth, m_FIRImageData.ImageHeight);

                        picBox.Image = (Image)bmp;

                        for (int i = 0; i < bmp.Width; i++)
                        {
                            for (int j = 0; j < bmp.Height; j++)
                            {
                                colorval = (int)imgData[(j * m_FIRImageData.ImageWidth) + i];
                                bmp.SetPixel(i, j, Color.FromArgb(colorval, colorval, colorval));
                            }
                        }
                        picBox.Refresh();
                        StatusBar.Text = "(Registration Successful)";
                    }
                }
                else
                {
                    MessageBox.Show("Error");
                }
            }
        }
Пример #4
0
        private void Form1_Load(object sender, EventArgs e)
        {
            //FIND
            err = m_SecuBSP.EnumerateDevice();
            m_SecuBSP.DeviceID = (Int16)DeviceID.AUTO;

            //OPEN
            err = m_SecuBSP.OpenDevice();
            if (err == BSPError.ERROR_NONE)
            {
                StatusBar.Text = "Scanner Detected";
            }

            //AUTO-ON
            if (this.Visible)
            {
                m_SecuBSP.MonitorDevice(true, this.Handle);
            }
        }
Пример #5
0
        private void Form2_Load(object sender, EventArgs e)
        {
            //FIND
            err = m_SecuBSP.EnumerateDevice();
            if (err == BSPError.ERROR_NONE)
            {
                m_SecuBSP.DeviceID = (Int16)DeviceID.AUTO;
            }

            //OPEN
            err = m_SecuBSP.OpenDevice();
            if (err == BSPError.ERROR_NONE)
            {
                StatusBar.Text = "(Scanner Detected)";
            }
            else
            {
                StatusBar.Text = "(No Scanner Detected)";
            }
        }
Пример #6
0
        private void VerifySC_Click(object sender, EventArgs e)
        {
            err = m_SecuBSP.EnumerateDevice();
            pdf = new PdfDocument();

            OpenFileDialog dialog = new OpenFileDialog();

            dialog.Filter = "PDF document (*.pdf)|*.pdf";
            DialogResult result = dialog.ShowDialog();

            if (result == DialogResult.OK)
            {
                try
                {
                    string pdfFile = dialog.FileName;

                    List <PdfSignature> signatures = new List <PdfSignature>();
                    //Open a pdf document and get its all signatures
                    using (PdfDocument pdf = new PdfDocument())
                    {
                        pdf.LoadFromFile(pdfFile);
                        PdfFormWidget form = pdf.Form as PdfFormWidget;
                        for (int i = 0; i < form.FieldsWidget.Count; i++)
                        {
                            PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget;
                            if (field != null && field.Signature != null)
                            {
                                PdfSignature signature = field.Signature;
                                signatures.Add(signature);
                            }
                        }

                        //Get the first signature
                        PdfSignature signatureOne = signatures[0];

                        //Detect if the pdf document was modified
                        bool modified = signatureOne.VerifyDocModified();

                        //FIND
                        err = m_SecuBSP.EnumerateDevice();
                        m_SecuBSP.DeviceID = (Int16)DeviceID.AUTO;

                        //OPEN
                        err = m_SecuBSP.OpenDevice();
                        if (err == BSPError.ERROR_NONE)
                        {
                            if (!modified)
                            {
                                PdfDocumentInformation docInfo = pdf.DocumentInformation;
                                err = m_SecuBSP.Capture(FIRPurpose.VERIFY);
                                if (err == BSPError.ERROR_NONE)
                                {
                                    err = m_SecuBSP.VerifyMatch(m_SecuBSP.FIRTextData, docInfo.Subject);

                                    if (err == BSPError.ERROR_NONE)
                                    {
                                        if (m_SecuBSP.IsMatched)
                                        {
                                            AutoClosingMessageBox.Show("The Document is Authentic", "", 1500);
                                        }
                                        else
                                        {
                                            AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500);
                                        }
                                    }
                                }
                            }
                            else
                            {
                                AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500);
                            }
                        }
                        else
                        {
                            AutoClosingMessageBox.Show("No Scanner Detected", "Error!", 1000);
                        }
                    }
                }
                catch (Exception exe)
                {
                    MessageBox.Show("Document is not Authentic", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }
Пример #7
0
        private void VerifyDB_Click(object sender, EventArgs e)
        {
            if (matricTextBox.Text.Equals("") || matricTextBox.Text.Equals("Input Matric"))
            {
                MessageBox.Show("Please Input a Matric Number", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MySqlCommand command = new MySqlCommand("SELECT * FROM `data` WHERE `matric`=@user", db.getConnection());
                command.Parameters.Add("@user", MySqlDbType.VarChar).Value = matricTextBox.Text;
                db.openConnection();
                MySqlDataReader rdr = command.ExecuteReader();
                f_data = "";
                while (rdr.Read())
                {
                    f_data = rdr.GetString(4);
                }
                rdr.Close();
                if (f_data.Equals(""))
                {
                    MessageBox.Show("Wrong Matric Number", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
                else
                {
                    pdf = new PdfDocument();

                    OpenFileDialog dialog = new OpenFileDialog();
                    dialog.Filter = "PDF document (*.pdf)|*.pdf";
                    DialogResult result = dialog.ShowDialog();

                    if (result == DialogResult.OK)
                    {
                        try
                        {
                            string pdfFile = dialog.FileName;

                            List <PdfSignature> signatures = new List <PdfSignature>();
                            //Open a pdf document and get its all signatures
                            using (PdfDocument pdf = new PdfDocument())
                            {
                                pdf.LoadFromFile(pdfFile);
                                PdfFormWidget form = pdf.Form as PdfFormWidget;
                                for (int i = 0; i < form.FieldsWidget.Count; i++)
                                {
                                    PdfSignatureFieldWidget field = form.FieldsWidget[i] as PdfSignatureFieldWidget;
                                    if (field != null && field.Signature != null)
                                    {
                                        PdfSignature signature = field.Signature;
                                        signatures.Add(signature);
                                    }
                                }

                                //Get the first signature
                                PdfSignature signatureOne = signatures[0];

                                //Detect if the pdf document was modified
                                bool modified = signatureOne.VerifyDocModified();

                                if (!modified)
                                {
                                    PdfDocumentInformation docInfo = pdf.DocumentInformation;
                                    err = m_SecuBSP.Capture(FIRPurpose.VERIFY);

                                    err = m_SecuBSP.VerifyMatch(f_data, docInfo.Subject);

                                    if (err == BSPError.ERROR_NONE)
                                    {
                                        if (m_SecuBSP.IsMatched)
                                        {
                                            AutoClosingMessageBox.Show("The Document is Authentic", "", 1500);
                                        }
                                        else
                                        {
                                            AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500);
                                        }
                                    }
                                }
                                else
                                {
                                    AutoClosingMessageBox.Show("The Document is not Authentic", "", 1500);
                                }
                            }
                        }
                        catch (Exception exe)
                        {
                            MessageBox.Show("Document is not Authentic", "Error!", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }
                }
            }
        }