Array
(
)

Nitgen Hamster I Csharp + SQL

Thiago Neves
   - 17 mar 2014

Olá pessoal, sou iniciante na biometria e estou tomando um coro tentando implementar no meu sistema feito em C#.
O que acentecesse é o seguinte, comprei um leitor da Nitgen Hamster I, apesar de toda documentação disponível no site para desenvolvedores e mais os códigos fonte com explemplos, estou muito confuso pois a forma que é explicada na documentação no meu ver parece ser muito superficial. Não adianta eu ter o código fonte se não entender a lógica. Segue em anexo pra quem puder da uma analizada.
O que eu quero fazer basicamente é fazer a captura das digitais no cadastro do cliente e depois localizalo no banco através da sua digital e retornar outros dados pertinente ao cliente.
Pelo o que eu entendi existe o método IndexSearch que quando você faz o cadastro das digitais de uma pessoa (até 10) que se eu entendi é chamdo de template, você também passa o id do cliente que será acossiado aquele templete, então eu salvo no meu banco(não faço ideia como) o templete e o id do cliente, vamos supor que eu cadastro 500 clientes, depois desses meus cadastros, parece que eu tenho que "baixar" do banco sql todos os templetes e id do cliente para a memória do dispositivo, assim quando eu fizer uma busca ele faz uma busca na memória do próprio dispositivo e retorna somente o id do cleinte ai que com esse id do cliente eu vou no banco sql e busco a o restante das informações que eu quero. Até aqui eu acho que eu entendi isso, se eu tiver falando bobaguem alguém me corrija por favor.
As dúvidas são:
Como gravar o templete e o id no SQL uma vez q na documentação não tem nada relacionado explicitamente, qual formato da variável devo passar para o banco?
A cada cliente adicionado eu tenho que atualizar na memória do leitor todos o templetes com seus respectivo id''s?
Esse indexSearch é um método exclusivo desse leitor? se amanha por emplempo for trocar de leitor que ver algum detalhe?
Quantos cliente posso armazenar na memória do dispositivo(Não encotrei essa especificação do produto).

Para que não puder abrir o aquivo em anexo, vou mostrar alguns trechos da docuementação:
"Use o método IndexSearch para armazenar e identificar os templates. No objeto IndexSearch criado, devem ser adicionados o template (impressão digital) e o id dos usuários. Se estes dados estiverem armazenados em um DB, então devem ser carregado no IndexSearch através de uma rotina de repetição, até que todos os templates e IDs do banco forem adicionados.
O processo de identificação ocorrerá diretamente com os dados armazenados neste objeto (na memória) e não no DB, é este processo que torna a busca instantânea.
O resultado da identificação será o ID do template identificado.
Adicionando no IndexSearch :
int nUserID Long //ID do User.
string szFir //Template do User
rs = connObj.OpenSchema(ADODB.SchemaEnum.adSchemaTables, Missing.Value,
Missing.Value);
while(!rs.EOF) {
nUserID = rs.Fields["ID"].Value.ToInteger();
szFIR = rs.Fields["ID"].Value.ToString();
objIndexSearch.AddFIR(szFir, nUserID);
rs.MoveNext();
}
Identificando:
objDevice.Open(NBioBSPType.DEVICE_ID.AUTO);
objExtraction.Capture((int)NBioBSPType.FIR_PURPOSE.VERIFY);
objDevice.Close(NBioBSPType.DEVICE_ID.AUTO);
szTextEncodeFIR = objExtraction.TextEncodeFIR;
NitgendoBrasil–www.nitgen.com.br Página10
objIndexSearch.IdentifyUser(szTextEncodeFIR, 6); //Faz a identificação do usuário. 1º
Parametro: String capturada a identificar. 2º Parametro: Nível de segurança (Varia de 1 à 9).
if (objIndexSearch.ErrorCode == 0)
{
//User identificado com sucesso
User_id = Convert.ToString(objIndexSearch.UserID); // objIndexSearch.UserID irá
retornar o ID do user identificado. Com este valor deve-se fazer a busca no Database
dos demais dados do usuário.
}
else
{
//User não identificado.
}