Ejemplo n.º 1
0
        public string Enroll()
        {
            NBioAPI.Type.FIR_TEXTENCODE m_textFIR   = new NBioAPI.Type.FIR_TEXTENCODE();
            NBioAPI.Type.HFIR           NewFIR      = new NBioAPI.Type.HFIR();
            NBioAPI.Type.WINDOW_OPTION  m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
            m_WinOption.WindowStyle = (uint)NBioAPI.Type.WINDOW_STYLE.NO_WELCOME;
            string Retorno = "";
            uint   device  = m_NBioAPI.OpenDevice(255);

            if (device != NBioAPI.Error.NONE)
            {
                return(null);
            }

            uint ret = m_NBioAPI.Enroll(out NewFIR, null);

            if (NewFIR != null)
            {
                m_NBioAPI.GetTextFIRFromHandle(NewFIR, out m_textFIR, true);
                if (m_textFIR.TextFIR != null)
                {
                    m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);
                    Retorno = m_textFIR.TextFIR.ToString();
                }
            }
            m_NBioAPI.CloseDevice(255);
            return(Retorno);
        }
 public Add_Doctor_Details()
 {
     InitializeComponent();
     m_BioAPI = new BioAPI();
     m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
     m_WinOption.Option2 = new NBioAPI.Type.WINDOW_OPTION_2();
     con = new connectDB().getConn();
 }
        static void Main(string[] args)
        {
            try
            {
                var corConsoleDefault = Console.ForegroundColor;
                var repositorio       = new DigitaisRepositorio();
                var handler           = new IdentificarBiometriaHandler();

                var numeroTotalBiometrias = repositorio.RecuperarNumeroTotalBiometrias();
                var biometriasPorPagina   = (numeroTotalBiometrias / Environment.ProcessorCount) + 10;
                for (int pagina = 1; pagina <= Environment.ProcessorCount; pagina++)
                {
                    var biometriasRecuperadas = repositorio.RecuperarPagina(pagina, biometriasPorPagina);
                    handler.AdicionarMecanismoBuscaPara(biometriasRecuperadas);
                }

                // Captura da digital (trocar para o que vem da catraca posteriormente)
                var nitgenMainApi = new NBioAPI();

                var possoSair = false;
                while (!possoSair)
                {
                    Console.WriteLine("Informe a digital");

                    NBioAPI.Type.HFIR template;
                    var window = new NBioAPI.Type.WINDOW_OPTION();
                    nitgenMainApi.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO);
                    nitgenMainApi.Capture(out template, 0, window);
                    nitgenMainApi.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);

                    var relogio = new Stopwatch();
                    relogio.Start();
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine("Identificando.....");
                    Console.ForegroundColor = corConsoleDefault;
                    var resultado = handler.IdentificarBiometria(template);
                    relogio.Stop();
                    Console.ForegroundColor = ConsoleColor.Green;
                    Console.WriteLine($"Id digital encontrada {resultado} em {relogio.Elapsed.TotalSeconds} segundos");
                    Console.ForegroundColor = corConsoleDefault;

                    Console.WriteLine();

                    Console.WriteLine("\nCapturar nova digital?");
                    var tecla = Console.ReadKey();
                    if (tecla.Key == ConsoleKey.N)
                    {
                        possoSair = true;
                    }
                }
            }
            catch (Exception ex)
            {
                Console.ForegroundColor = ConsoleColor.Red;
                Console.WriteLine($"ERRO {ex.Message} - {ex.StackTrace}");
                throw;
            }
        }
 public biometriclogin()
 {
     InitializeComponent();
     m_BioAPI = new BioAPI();
     m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
     m_WinOption.Option2 = new NBioAPI.Type.WINDOW_OPTION_2();
     con = new connectDB().getConn();
     uname = "";
 }
 public biometriclogin(string u,string t)
 {
     InitializeComponent();
     m_BioAPI = new BioAPI();
     m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
     m_WinOption.Option2 = new NBioAPI.Type.WINDOW_OPTION_2();
     con = new connectDB().getConn();
     uname = u;
     txtUserId.Text = u;
     lblEType.Text = t;
 }
        public string Identificar(string Digital)
        {
            NBioAPI m_NBioAPI = new NBioAPI();

            NBioAPI.Type.FIR_TEXTENCODE m_textFIR = new NBioAPI.Type.FIR_TEXTENCODE();
            //NBioAPI.Type.HFIR NewFIR;
            NBioAPI.IndexSearch           m_IndexSearch = new NBioAPI.IndexSearch(m_NBioAPI);
            NBioAPI.Type.HFIR             hCapturedFIR;
            NBioAPI.IndexSearch.FP_INFO[] fpInfo;


            NBioAPI.Type.WINDOW_OPTION m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
            m_WinOption.WindowStyle = (uint)NBioAPI.Type.WINDOW_STYLE.NO_WELCOME;

            uint ID = 1;

            m_textFIR.TextFIR = Digital;
            m_IndexSearch.AddFIR(m_textFIR, ID, out fpInfo);

            uint dataCount;

            m_IndexSearch.GetDataCount(out dataCount);

            m_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO);
            uint ret = m_NBioAPI.Capture(out hCapturedFIR);

            if (ret != NBioAPI.Error.NONE)
            {
                //DisplayErrorMsg(ret);
                m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);
                m_NBioAPI.GetTextFIRFromHandle(hCapturedFIR, out m_textFIR, true);
            }

            m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);


            NBioAPI.IndexSearch.FP_INFO         fpInfo2;
            NBioAPI.IndexSearch.CALLBACK_INFO_0 cbInfo0 = new NBioAPI.IndexSearch.CALLBACK_INFO_0();
            cbInfo0.CallBackFunction = new NBioAPI.IndexSearch.INDEXSEARCH_CALLBACK(myCallback);

            // Identify FIR to IndexSearch DB
            ret = m_IndexSearch.IdentifyData(hCapturedFIR, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo2, cbInfo0);
            if (ret != NBioAPI.Error.NONE)
            {
                //DisplayErrorMsg(ret);
                //return fpInfo2.ID.ToString();
                return(m_textFIR.TextFIR);
            }

            return("");
        }
        public interfaceBiometria()
        {
            //Inicializa leitor e ja pega uma conexão com o banco
            m_NBioAPI = new NBioAPI();
            m_OpenedDeviceID = NBioAPI.Type.DEVICE_ID.NONE;
            m_IndexSearch = new NBioAPI.IndexSearch(m_NBioAPI);
            defineDispositivo();

            //Inicia o sistema de busca de digitais cadastradas.
            m_IndexSearch.InitEngine();

            //Inicializa o módulo para captura da Digital
            //Inicializa a variável da opção da janela, e define a janela de captura como invisivel
            m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
            m_WinOption.WindowStyle = NBioAPI.Type.WINDOW_STYLE.INVISIBLE;
        }
        public interfaceBiometria()
        {
            //Inicializa leitor e ja pega uma conexão com o banco
            m_NBioAPI        = new NBioAPI();
            m_OpenedDeviceID = NBioAPI.Type.DEVICE_ID.NONE;
            m_IndexSearch    = new NBioAPI.IndexSearch(m_NBioAPI);
            defineDispositivo();

            //Inicia o sistema de busca de digitais cadastradas.
            m_IndexSearch.InitEngine();

            //Inicializa o módulo para captura da Digital
            //Inicializa a variável da opção da janela, e define a janela de captura como invisivel
            m_WinOption             = new NBioAPI.Type.WINDOW_OPTION();
            m_WinOption.WindowStyle = NBioAPI.Type.WINDOW_STYLE.INVISIBLE;
        }
Ejemplo n.º 9
0
        public Form1()
        {
            InitializeComponent();

            //inicializa variáveis Necessárias para NBIOBSP.

            m_NBioAPI   = new NBioAPI();
            m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
            m_Export    = new NBioAPI.Export(m_NBioAPI);
            utils       = new Utils(m_NBioAPI);

            if (string.IsNullOrWhiteSpace(richTextBox1.Text))
            {
                richTextBox1.Text = "insira o Template aqui";
            }
        }
        static void Main(string[] args)
        {
            var repositorio       = new DigitaisRepositorio();
            var nitgenMainApi     = new NBioAPI();
            var handler           = new IdentificarBiometriaHandler();
            var corConsoleDefault = Console.ForegroundColor;

            var biometrias = repositorio.RecuperarPagina(1, 8000);

            Console.WriteLine($"{biometrias.Count()} biometrias recuperadas...");
            handler.CarregarBiometrias(biometrias);

            var possoSair = false;

            while (!possoSair)
            {
                Console.WriteLine("Informe a digital");

                NBioAPI.Type.HFIR template;
                var window = new NBioAPI.Type.WINDOW_OPTION();
                nitgenMainApi.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO);
                nitgenMainApi.Capture(out template, 0, window);
                nitgenMainApi.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);

                var relogio = new Stopwatch();
                relogio.Start();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine("Identificando.....");
                Console.ForegroundColor = corConsoleDefault;
                var resultado = handler.IdentificarBiometria(template);
                relogio.Stop();
                Console.ForegroundColor = ConsoleColor.Green;
                Console.WriteLine($"Id digital encontrada {resultado} em {relogio.Elapsed.TotalSeconds} segundos");
                Console.ForegroundColor = corConsoleDefault;

                Console.WriteLine();

                Console.WriteLine("\nCapturar nova digital?");
                var tecla = Console.ReadKey();
                if (tecla.Key == ConsoleKey.N)
                {
                    possoSair = true;
                }
            }
        }
        public string Enroll(int id)
        {
            NBioAPI m_NBioAPI = new NBioAPI();

            NBioAPI.Type.FIR_TEXTENCODE m_textFIR;
            NBioAPI.Type.HFIR           NewFIR;
            NBioAPI.IndexSearch         m_IndexSearch = new NBioAPI.IndexSearch(m_NBioAPI);


            NBioAPI.Type.WINDOW_OPTION m_WinOption = new NBioAPI.Type.WINDOW_OPTION();
            m_WinOption.WindowStyle = (uint)NBioAPI.Type.WINDOW_STYLE.NO_WELCOME;

            string Retorno = "";

            m_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO);
            uint ret = m_NBioAPI.Enroll(out NewFIR, null);

            //uint ret = m_NBioAPI.Enroll(null, out NewFIR, null, NBioAPI.Type.TIMEOUT.DEFAULT, null, m_WinOption);


            if (ret != NBioAPI.Error.NONE)
            {
                m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);
            }

            if (NewFIR != null)
            {
                m_NBioAPI.GetTextFIRFromHandle(NewFIR, out m_textFIR, true);


                if (m_textFIR.TextFIR != null)
                {
                    m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);
                    Retorno = m_textFIR.TextFIR.ToString();
                }
            }
            return(Retorno);
        }
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                var contextosIdentificacao = new List <BiometriaIndentificacaoContexto>();
                _tasks = new ConcurrentBag <DigitalTask>();

                // Captura da digital (trocar para o que vem da catraca posteriormente)
                var nitgenMainApi = new NBioAPI();
                NBioAPI.Type.HFIR template;
                var window = new NBioAPI.Type.WINDOW_OPTION();
                nitgenMainApi.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO);
                nitgenMainApi.Capture(out template, 0, window);
                nitgenMainApi.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO);

                var repositorio      = new DigitalRepositorio();
                var digitaisIniciais = repositorio.RecuperarPrimeirosRegistros();
                var digitaisFinais   = repositorio.RecuperarUltimosRegistros();

                var task1 = Create(template, digitaisIniciais);
                var task2 = Create(template, digitaisFinais);

                _tasks.Add(task1);
                _tasks.Add(task2);

                task1.Task.Start();
                Thread.Sleep(500);
                task2.Task.Start();

                var relogio = new Stopwatch();
                relogio.Start();

                var         possoSair = false;
                DigitalTask resultado;
                while (!possoSair)
                {
                    if (_tasks.Any(t => t.Task.IsCompleted))
                    {
                        var completadas = _tasks.Where(t => t.Task.IsCompleted);
                        resultado = completadas.FirstOrDefault(c => c.Task.Result > 0);

                        if (resultado != null)
                        {
                            foreach (var task in _tasks.Where(t => t.Id != resultado.Id))
                            {
                                task.CancellationSource.Cancel();
                            }
                            possoSair = true;
                        }
                    }

                    if (_tasks.All(t => t.Task.IsCompleted))
                    {
                        possoSair = true;
                    }

                    Thread.Sleep(10);
                }

                relogio.Stop();
                MessageBox.Show($"Terminou em {relogio.Elapsed.TotalSeconds}");
            }
            catch (OperationCanceledException ex)
            {
                foreach (var task in _tasks)
                {
                    task.CancellationSource.Dispose();
                }
            }
        }
Ejemplo n.º 13
0
 public Biometria()
 {
     m_NBioAPI           = new NBioAPI();
     m_WinOption         = new NBioAPI.Type.WINDOW_OPTION();
     m_WinOption.Option2 = new NBioAPI.Type.WINDOW_OPTION_2();
 }