public Task <int> CriarTaskParaIdentificacaoBiometrica(NBioAPI.Type.HFIR template) { var contextoIdentificacao = new ContextoParaIndentificacaoBiometrica(Id, MecanismoBusca, template); CancellationSource = new CancellationTokenSource(); var token = CancellationSource.Token; return(new Task <int>((parametroState) => { var contexto = parametroState as ContextoParaIndentificacaoBiometrica; if (token.IsCancellationRequested) { return 0; } var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); NBioAPI.IndexSearch.FP_INFO nitgenBiometria; var relogio = new Stopwatch(); relogio.Start(); var retorno = contexto.MecanismoBusca.IdentifyData(contexto.TemplateLido, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGH, out nitgenBiometria, cbInfo); relogio.Stop(); Console.WriteLine($"{contexto.Id} - Localizado {nitgenBiometria.ID} em {relogio.Elapsed.TotalSeconds}"); if (token.IsCancellationRequested) { return 0; } return (int)nitgenBiometria.ID; }, contextoIdentificacao, token)); }
public Resultado <Digital, Falha> IdentificarDigital(byte[] digitalLida, Digital digitalParaComparar) { var encontrou = false; var payload = new NBioAPI.Type.FIR_PAYLOAD(); NBioAPI.Type.HFIR digitalLidaConvertida; _apiConversor.FDxToNBioBSPEx(digitalLida, (uint)digitalLida.Length, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_ISO, NBioAPI.Type.FIR_PURPOSE.ENROLL_FOR_IDENTIFICATION_ONLY, out digitalLidaConvertida); NBioAPI.Type.HFIR digitalParaCompararConvertida; _apiConversor.FDxToNBioBSPEx(digitalParaComparar.TemplateIso, (uint)digitalParaComparar.TemplateIso.Length, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_ISO, NBioAPI.Type.FIR_PURPOSE.ENROLL_FOR_IDENTIFICATION_ONLY, out digitalParaCompararConvertida); var retorno = _api.VerifyMatch(digitalLidaConvertida, digitalParaCompararConvertida, out encontrou, payload); if (encontrou) { var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); NBioAPI.IndexSearch.FP_INFO[] informacaoBiometria; NBioAPI.IndexSearch.FP_INFO nitgenBiometria; var resultadoAddFir = _apiBusca.AddFIR(digitalLidaConvertida, (uint)digitalParaComparar.Id, out informacaoBiometria); retorno = _apiBusca.IdentifyData(digitalLidaConvertida, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGHEST, out nitgenBiometria, cbInfo); var idEncontrado = nitgenBiometria.ID; _apiBusca.RemoveUser((uint)digitalParaComparar.Id); if (idEncontrado > 0) { return(digitalParaComparar); } } Debug.WriteLine($"digital {digitalParaComparar.Id}"); return(Falha.Nova(404, "Digital não encontrada")); }
private bool AcessoBiometrico(out int CodigoUsuario, CPonto.CPontoClient oProxy, bool Infinito) { Biometria Bio = new Biometria(); NBioAPI.Type.FIR_TEXTENCODE oFirCapture = Bio.FIRDigital(0, PctDigital, LblQualidade, Infinito); NBioAPI.IndexSearch.FP_INFO oInfoCompare; NBioAPI.IndexSearch.CALLBACK_INFO_0 CallBackInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); uint ret; ret = oIndexSearch.IdentifyData(oFirCapture, 5, out oInfoCompare, CallBackInfo); if (ret != NBioAPI.Error.NONE) { MsgErro(ret); CodigoUsuario = 0; return(false); } int UID = (int)oInfoCompare.ID; CodigoUsuario = UID; CPonto.HASHDIGITAL oHash = oProxy.SelecionaHash(UID); if (oHash == null) { CodigoUsuario = 0; return(false); } CodigoUsuario = oHash.HaCodigoUsuario; return(true); }
private DigitalTask Create(NBioAPI.Type.HFIR template, IEnumerable <Biometria> biometrias) { var nitgenMainApi = new NBioAPI(); var nitgenSearchApi = new NBioAPI.IndexSearch(nitgenMainApi); nitgenSearchApi.InitEngine(); var nitgenConvertApi = new NBioAPI.Export(nitgenMainApi); var contextoIdentificacao = BiometriaIndentificacaoContexto.Novo(nitgenSearchApi, nitgenConvertApi); contextoIdentificacao.TemplateLido = template; var cancellationToken = new CancellationTokenSource(); var token = cancellationToken.Token; foreach (var biometria in biometrias) { NBioAPI.Type.HFIR handle; NBioAPI.IndexSearch.FP_INFO[] nitgenBiometria; nitgenConvertApi.FDxToNBioBSPEx(biometria.TemplateISO, (uint)biometria.TemplateISO.Length, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_ISO, NBioAPI.Type.FIR_PURPOSE.ENROLL_FOR_IDENTIFICATION_ONLY, out handle); nitgenSearchApi.AddFIR(handle, (uint)biometria.Id, out nitgenBiometria); } var task = new Task <int>((parametroState) => { var contexto = parametroState as BiometriaIndentificacaoContexto; Console.WriteLine($"{contexto.Id} - Iniciado "); if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } // Faz o Index Search var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); NBioAPI.IndexSearch.FP_INFO nitgenBiometria; var relogio = new Stopwatch(); Console.WriteLine($"{contexto.Id} - Localizando biometria..."); relogio.Start(); var retorno = nitgenSearchApi.IdentifyData(contexto.TemplateLido, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGH, out nitgenBiometria, cbInfo); relogio.Stop(); Console.WriteLine($"{contexto.Id} - Localizado {nitgenBiometria.ID} em {relogio.Elapsed.TotalSeconds}"); if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } Console.WriteLine($"{contexto.Id} - Finalizado "); return((int)nitgenBiometria.ID); }, contextoIdentificacao, token); return(new DigitalTask(contextoIdentificacao.Id, task, cancellationToken)); }
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 int IdentificarBiometria(NBioAPI.Type.HFIR template) { Console.WriteLine($"Localizado digital ..."); var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); NBioAPI.IndexSearch.FP_INFO nitgenBiometria; var relogio = new Stopwatch(); relogio.Start(); var retorno = _nitgenSearchApi.IdentifyData(template, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGH, out nitgenBiometria, cbInfo); relogio.Stop(); Console.WriteLine($"Localizado {nitgenBiometria.ID} em {relogio.Elapsed.TotalSeconds}"); return((int)nitgenBiometria.ID); }
public Task <int> CriarTaskParaIdentificacaoBiometrica(NBioAPI.Type.HFIR template, IEnumerable <Biometria> biometrias) { var contextoIdentificacao = new ContextoParaIndentificacaoBiometrica(Id, biometrias, template); CancellationSource = new CancellationTokenSource(); var token = CancellationSource.Token; return(new Task <int>((parametroState) => { try { var contexto = parametroState as ContextoParaIndentificacaoBiometrica; if (token.IsCancellationRequested) { return 0; } var nitgenMainApi = new NBioAPI(); var nitgenSearchApi = new NBioAPI.IndexSearch(nitgenMainApi); nitgenSearchApi.InitEngine(); foreach (var biometria in contexto.Biometrias) { var biometriaNitgen = new NBioAPI.Type.FIR_TEXTENCODE { TextFIR = biometria.TemplateISOText }; NBioAPI.IndexSearch.FP_INFO[] informacaoBiometria; nitgenSearchApi.AddFIR(biometriaNitgen, (uint)biometria.Id, out informacaoBiometria); } var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); cbInfo.CallBackFunction = new NBioAPI.IndexSearch.INDEXSEARCH_CALLBACK(Callback); NBioAPI.IndexSearch.FP_INFO nitgenBiometria; var relogio = new Stopwatch(); relogio.Start(); var retorno = nitgenSearchApi.IdentifyData(contexto.TemplateLido, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGH, out nitgenBiometria, cbInfo); relogio.Stop(); Console.WriteLine($"{contexto.Id} - Localizado {nitgenBiometria.ID} em {relogio.Elapsed.TotalSeconds}"); return (int)nitgenBiometria.ID; } catch (Exception ex) { Console.WriteLine(ex.Message); return 0; } }, contextoIdentificacao, token)); }
private void btnIdentify_Click(object sender, System.EventArgs e) { NBioAPI.Type.HFIR hCapturedFIR; listResult.Items.Clear(); // Get FIR data 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); return; } m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint nMax; m_IndexSearch.GetDataCount(out nMax); progressIdentify.Minimum = 0; progressIdentify.Maximum = Convert.ToInt32(nMax); 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 NBioAPI.IndexSearch.FP_INFO fpInfo; ret = m_IndexSearch.IdentifyData(hCapturedFIR, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo, cbInfo0); if (ret != NBioAPI.Error.NONE) { DisplayErrorMsg(ret); return; } // Add item to list of result ListViewItem listItem = new ListViewItem(); listItem.Text = fpInfo.ID.ToString(); listItem.SubItems.Add(fpInfo.FingerID.ToString()); listItem.SubItems.Add(fpInfo.SampleNumber.ToString()); listResult.Items.Add(listItem); }
//Captura uma digital e verifica se bate com alguma FIR cadastrada no banco, caso sim, retorna o ID do usuário. //@return ID do usuário. public long verificaIdentidade() { //Variavel que vai estar com o template capturado pelo leitor NBioAPI.Type.HFIR digitalCapturada; //Captura a digital do promotor m_NBioAPI.Capture(out digitalCapturada, NBioAPI.Type.TIMEOUT.INFINITE, m_WinOption); //Cria variável do callback NBioAPI.IndexSearch.CALLBACK_INFO_0 cbInfo0 = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); //Cria variável que vai receber as informações da digital NBioAPI.IndexSearch.FP_INFO fpInfo; //Pega a digital capturada, e compara para ver se é encontrada uma digital compatível no banco m_IndexSearch.IdentifyData(digitalCapturada, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo, cbInfo0); //retorna o id do usuário como inteiro return(Convert.ToUInt32(fpInfo.ID)); }
public Task <int> CriarTaskParaIdentificacaoBiometrica(NBioAPI.Type.HFIR template, NBioAPI.IndexSearch mecanismoConfirmacao) { var contextoIdentificacao = new ContextoParaIndentificacaoBiometrica(Id, MecanismoBusca, mecanismoConfirmacao, Conversor, template, Biometrias); CancellationSource = new CancellationTokenSource(); var token = CancellationSource.Token; return(new Task <int>((parametroState) => { var contexto = parametroState as ContextoParaIndentificacaoBiometrica; if (token.IsCancellationRequested) { return 0; } var encontrou = false; var relogio = new Stopwatch(); relogio.Start(); foreach (var biometria in contexto.Biometrias) { if (token.IsCancellationRequested) { relogio.Stop(); Console.WriteLine($"{contexto.Id} - cancelado pois encontrado em outra thread {relogio.Elapsed.TotalSeconds}"); return 0; } var payload = new NBioAPI.Type.FIR_PAYLOAD(); NBioAPI.Type.HFIR handler; contexto.Conversor.FDxToNBioBSPEx(biometria.TemplateISO, (uint)biometria.TemplateISO.Length, NBioAPI.Type.MINCONV_DATA_TYPE.MINCONV_TYPE_ISO, NBioAPI.Type.FIR_PURPOSE.ENROLL_FOR_IDENTIFICATION_ONLY, out handler); var retorno = contexto.MecanismoBusca.VerifyMatch(contexto.TemplateLido, handler, out encontrou, payload); if (encontrou) { contexto.MecanismoConfirmacao.InitEngine(); NBioAPI.IndexSearch.FP_INFO[] informacaoBiometria; var ret = contexto.MecanismoConfirmacao.AddFIR(handler, (uint)biometria.Id, out informacaoBiometria); var cbInfo = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); NBioAPI.IndexSearch.FP_INFO nitgenBiometria; retorno = contexto.MecanismoConfirmacao.IdentifyData(contexto.TemplateLido, NBioAPI.Type.FIR_SECURITY_LEVEL.HIGH, out nitgenBiometria, cbInfo); var idEncontrado = nitgenBiometria.ID; contexto.MecanismoConfirmacao.RemoveUser((uint)biometria.Id); if (idEncontrado > 0) { relogio.Stop(); Console.WriteLine($"{contexto.Id} - Localizado {biometria.Id} em {relogio.Elapsed.TotalSeconds}"); return (int)idEncontrado; } } } relogio.Stop(); Console.WriteLine($"{contexto.Id} - Nenhuma biometria encontrada em {relogio.Elapsed.TotalSeconds}"); return 0; }, contextoIdentificacao, token)); }
//Captura uma digital e verifica se bate com alguma FIR cadastrada no banco, caso sim, retorna o ID do usuário. //@return ID do usuário. public long verificaIdentidade() { //Variavel que vai estar com o template capturado pelo leitor NBioAPI.Type.HFIR digitalCapturada; //Captura a digital do promotor m_NBioAPI.Capture(out digitalCapturada, NBioAPI.Type.TIMEOUT.INFINITE, m_WinOption); //Cria variável do callback NBioAPI.IndexSearch.CALLBACK_INFO_0 cbInfo0 = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); //Cria variável que vai receber as informações da digital NBioAPI.IndexSearch.FP_INFO fpInfo; //Pega a digital capturada, e compara para ver se é encontrada uma digital compatível no banco m_IndexSearch.IdentifyData(digitalCapturada, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo, cbInfo0); //retorna o id do usuário como inteiro return Convert.ToUInt32(fpInfo.ID); }
public void Identify_user() { NBioAPI.Type.HFIR hCapturedFIR; // Get FIR data m_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint ret = m_NBioAPI.Capture(out hCapturedFIR); if (ret != NBioAPI.Error.NONE) { Response.Write("" + ret); m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); return; } m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint nMax; m_IndexSearch.GetDataCount(out nMax); 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 NBioAPI.IndexSearch.FP_INFO fpInfo; ret = m_IndexSearch.IdentifyData(hCapturedFIR, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo, cbInfo0); if (ret != NBioAPI.Error.NONE) { //Response.Write("" + ret); lbldest.Text = "The FingerPrint does not match!!"; return; } // Add item to list of result String sell = "select * from tbl_userreg where user_username='******'"; DataTable dt2 = obj.GetDataTable(sell); string selq = " select * from tbl_aadhar where userdb_aadharno='" + dt2.Rows[0]["user_aadharno"] + "' "; DataTable dtt1 = obj.GetDataTable(selq); string selID = "select max(punch_id) as pid from tbl_punch where punch_aadharno='" + dt2.Rows[0]["user_aadharno"] + "'"; DataTable dt1 = obj.GetDataTable(selID); string selI = "select * from tbl_punch where punch_id='" + dt1.Rows[0]["pid"] + "'"; DataTable dt11 = obj.GetDataTable(selI); Session["valid"] = Convert.ToInt32(dt1.Rows[0]["pid"]); Session["aadharno"] = Convert.ToInt32(dtt1.Rows[0]["userdb_aadharno"]); String up = "update tbl_punch set punch_dname='" + drpdest.SelectedValue + "' where punch_id='" + Session["valid"] + "'"; obj.ExecuteCommand(up); String se = "select * from tbl_station where station_no='" + drpdest.SelectedValue + "'"; DataTable st = obj.GetDataTable(se); String see = "select * from tbl_station where station_no='" + dt11.Rows[0]["punch_sname"] + "'"; DataTable stt = obj.GetDataTable(see); String sel = "select * from tbl_route where route_from='" + stt.Rows[0]["station_name"] + "' and route_to='" + st.Rows[0]["station_name"] + "'"; DataTable dt = obj.GetDataTable(sel); Double r = Convert.ToDouble(dt.Rows[0]["route_distance"]); String sele = "select * from tbl_rate where distance=" + dt.Rows[0]["route_distance"] + ""; DataTable dtt = obj.GetDataTable(sele); Double amt = Convert.ToInt32(dtt.Rows[0]["rate"]) * Convert.ToInt32(dt11.Rows[0]["punch_tickets"]); String ss = "select * from tbl_vallet where useradhar_no='" + Session["aadharno"] + "'"; DataTable val = obj.GetDataTable(ss); double rr = Convert.ToInt32(val.Rows[0]["val_amount"]); rr = rr - amt; String upp = "update tbl_punch set punch_dist='" + dt.Rows[0]["route_distance"] + "',punch_amt='" + amt + "' where punch_aadharno='" + Session["aadharno"] + "' and punch_id='" + Session["valid"] + "'"; obj.ExecuteCommand(upp); string selI2 = "select train_vcapacity from tbl_train where train_id='" + dt11.Rows[0]["punch_trainid"] + "'"; DataTable dt112 = obj.GetDataTable(selI2); Double a2 = Convert.ToInt32(dt112.Rows[0]["train_vcapacity"]) + Convert.ToInt32(dt11.Rows[0]["punch_tickets"]); String sep = "update tbl_train set train_vcapacity='" + a2 + "' where train_id='" + dt11.Rows[0]["punch_trainid"] + "'"; obj.ExecuteCommand(sep); if (rr > 0) { String str = "update tbl_vallet set val_amount='" + rr + "' where useradhar_no='" + Session["aadharno"] + "'"; obj.ExecuteCommand(str); Mail(); Response.Redirect("thanks.aspx"); //Response.Write("success"); } else { Response.Write("<script>alert('Insufficient Balance')</script>"); } }
public void Identify_user() { NBioAPI.Type.HFIR hCapturedFIR; // Get FIR data m_NBioAPI.OpenDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint ret = m_NBioAPI.Capture(out hCapturedFIR); if (ret != NBioAPI.Error.NONE) { Response.Write("" + ret); m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); return; } m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint nMax; m_IndexSearch.GetDataCount(out nMax); 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 NBioAPI.IndexSearch.FP_INFO fpInfo; ret = m_IndexSearch.IdentifyData(hCapturedFIR, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo, cbInfo0); if (ret != NBioAPI.Error.NONE) { //Response.Write("" + ret); lblsource.Text = "The FingerPrint does not match!!"; return; } // Add item to list of result String ins = "insert into tbl_punch(punch_trainid,punch_sname,punch_dname,punch_aadharno,punch_dist,punch_tickets,punch_amt,punch_date)values('" + drptrain.SelectedValue + "','" + drpsource.SelectedValue + "','0','" + Session["aadharno"] + "','0','" + txttickets.Text + "','0','" + DateTime.Now.ToShortDateString() + "')"; obj.ExecuteCommand(ins); string selID = "select max(punch_id) as pid from tbl_punch where punch_aadharno='" + Session["aadharno"] + "'"; DataTable dt1 = obj.GetDataTable(selID); string sel = "select * from tbl_punch where punch_aadharno='" + Session["aadharno"] + "' and punch_id='" + dt1.Rows[0]["pid"] + "'"; DataTable dt = obj.GetDataTable(sel); string selI = "select train_vcapacity from tbl_train where train_id='" + dt.Rows[0]["punch_trainid"] + "'"; DataTable dt11 = obj.GetDataTable(selI); if (Convert.ToInt32(dt11.Rows[0]["train_vcapacity"]) > 0) { Double a = Convert.ToInt32(dt11.Rows[0]["train_vcapacity"]) - Convert.ToInt32(dt.Rows[0]["punch_tickets"]); String se = "update tbl_train set train_vcapacity='" + a + "' where train_id='" + dt.Rows[0]["punch_trainid"] + "'"; obj.ExecuteCommand(se); Session["valid"] = Convert.ToInt32(dt1.Rows[0]["pid"]); Session["source"] = drpsource.SelectedValue; Response.Write("success"); //Label1.Text = Convert.ToString(Session["source"]); Response.Redirect("welcome.aspx"); } else { Response.Write("<script>alert('Insufficient Seats')</script>"); } }
private void btnIdentify_Click(object sender, System.EventArgs e) { NBioAPI.Type.HFIR hCapturedFIR; // Get FIR data 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); return; } m_NBioAPI.CloseDevice(NBioAPI.Type.DEVICE_ID.AUTO); uint nMax; m_IndexSearch.GetDataCount(out nMax); NBioAPI.IndexSearch.CALLBACK_INFO_0 cbInfo0 = new NBioAPI.IndexSearch.CALLBACK_INFO_0(); // Identify FIR to IndexSearch DB NBioAPI.IndexSearch.FP_INFO fpInfo; ret = m_IndexSearch.IdentifyData(hCapturedFIR, NBioAPI.Type.FIR_SECURITY_LEVEL.NORMAL, out fpInfo, cbInfo0); if (ret != NBioAPI.Error.NONE) { DialogResult confirm = MessageBox.Show("Digital não encontrada, tente novamente!", "Usuário não identificado", MessageBoxButtons.OK, MessageBoxIcon.Exclamation, MessageBoxDefaultButton.Button2); if (confirm.ToString().ToUpper() == "OK") { btnIdentify_Click(sender, e); } //DisplayErrorMsg(ret); return; } //instância da conexão string config = "server=localhost; database=lanche; userid=root; password=vertrigo;"; MySqlConnection conexao = new MySqlConnection(config); string query = "SELECT apelido FROM users where id =" + fpInfo.ID; //instância do comando onde passo //a query e a conexão MySqlCommand cmd = new MySqlCommand(query, conexao); //Abro conexão conexao.Open(); //instância do leitor que recebe //o comando MySqlDataReader leitor = cmd.ExecuteReader(); leitor.Read(); //atribuo os valores do bd // Add item to list of result ListViewItem listItem = new ListViewItem(); listItem.Text = fpInfo.ID.ToString(); listItem.SubItems.Add(fpInfo.FingerID.ToString()); listItem.SubItems.Add(leitor["apelido"].ToString()); listResult.Items.Add(listItem); ////fecho conexão conexao.Close(); Form2 newForm2 = new Form2(fpInfo.ID.ToString()); newForm2.ShowDialog(); btnIdentify_Click(sender, e); }