public override bool GerarArquivoBiometria(int Terminal) { base.GerarArquivoBiometria(Terminal); List <AssepontoRep.Types.Biometria> listBiometrias = new List <Types.Biometria>(); Types.Biometria Biometria = new Types.Biometria(); string folder = AssepontoRep.Folders.folderArquivoBiometria(getRepFabricante()); PrintPointFingerPrintMessage template; try { Dimep_Conectar(); template = this._watchComm.InquiryFingerPrint(InquiryFingerPrintType.All); if (template == null) { log.AddLog("Nenhum template recebido"); return(false); } else { while (template != null) { Biometria.Funcionario.Pis = template.PIS; Biometria.Dedo1 = (Int16)template.FingerprintTypeOne; Biometria.Dedo2 = (Int16)template.FingerprintTypeTwo; Biometria.template = template.FingerPrint; template = this._watchComm.ConfirmationReceiptFingerPrint(); listBiometrias.Add(Biometria); if (template == null) { FinalizarArquivoBiometria(folder, listBiometrias); log.AddLog(Consts.BIOMETRIA_ARQUIVO_GERADO_SUCESSO); return(true); } } return(true); } } catch (Exception ex) { log.AddLog(Consts.ERRO_ENVIO_COMANDO); return(false); } finally { Dimep_Desconectar(); } }
public override bool EnviarArquivoBiometria(int Terminal) { if (!base.EnviarArquivoBiometria(Terminal)) { return(false); } Connect(Terminal); StringBuilder MensagemErro = new StringBuilder(256); int contadoLinha = 0, Operacao = 2; List <string> Arquivos = new List <string>(); List <AssepontoRep.Types.Biometria> listBiometrias = new List <Types.Biometria>(); Types.Biometria Biometria = new Types.Biometria(); string folder = AssepontoRep.Folders.folderArquivoBiometria(getRepFabricante()); Files.ReadFile(folder + "biometria.txt", Arquivos); foreach (string linha in Arquivos) { contadoLinha++; if (contadoLinha == 1) { Biometria.Funcionario.Pis = linha.Substring(0, linha.Length); } if (contadoLinha == 2) { Biometria.Funcionario.Matricula = linha.Substring(0, linha.Length); } if (contadoLinha == 3) { Biometria.Funcionario.Nome = linha.Substring(0, linha.Length); } if (contadoLinha == 4) { Biometria.template = linha.Substring(0, linha.Length); } if (contadoLinha == 5) { Biometria.tecladoHabilitado = linha.Substring(0, 1); } if (contadoLinha == 6) { Biometria.Funcionario.TecladoPassword = linha.Substring(0, linha.Length); } if (contadoLinha == 7) { if (linha != "") { Biometria.Funcionario.Crachas = new List <long>(); Biometria.Funcionario.Crachas.Add(long.Parse(linha.Substring(0, linha.Length))); } } if (contadoLinha == 8) { listBiometrias.Add(Biometria); contadoLinha = 0; } } foreach (Types.Biometria arquivo in listBiometrias) { Biometria.Funcionario.Crachas = new List <long>(); Biometria.Funcionario.Crachas = arquivo.Funcionario.Crachas; if (Biometria.Funcionario.Crachas != null) { foreach (long cracha in arquivo.Funcionario.Crachas) { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_Funcionario_Prepara(REPZPM_DLL.Handle, Operacao, arquivo.Funcionario.Pis, arquivo.Funcionario.Matricula, arquivo.Funcionario.Nome, arquivo.template, arquivo.tecladoHabilitado, arquivo.Funcionario.TecladoPassword, cracha.ToString(), cracha.ToString(), cracha.ToString()); } } else { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_Funcionario_Prepara(REPZPM_DLL.Handle, Operacao, arquivo.Funcionario.Pis, arquivo.Funcionario.Matricula, arquivo.Funcionario.Nome, arquivo.template, arquivo.tecladoHabilitado, arquivo.Funcionario.TecladoPassword, "", "", ""); } if (REPZPM_DLL.Retorno == 1) { REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_Funcionario_Envia(REPZPM_DLL.Handle); if (REPZPM_DLL.ID_Comando > 0) { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemCodigoErro(REPZPM_DLL.Handle, 1); if (REPZPM_DLL.Retorno != 0) { log.AddLog(Consts.ERRO_ENVIO_COMANDO_CODIGO); Disconnect(Terminal); return(false); } } } } log.AddLog(Consts.BIOMETRIA_ARQUIVO_ENVIADO_SUCESSO); Disconnect(Terminal); return(true); }
public override bool GerarArquivoBiometria(int Terminal) { List <Types.Biometria> listBiometrias = new List <Types.Biometria>(); Types.Biometria func = new Types.Biometria(); StringBuilder PIS = new StringBuilder(11); StringBuilder Matricula = new StringBuilder(20); StringBuilder NomeFuncionario = new StringBuilder(52); StringBuilder Biometrico = new StringBuilder(20000); //Valor definido baseado na maior template possivel de ser gerada c/ 10 digitais cadastradas. StringBuilder HabilitaTeclado = new StringBuilder(1); StringBuilder CodigoTeclado = new StringBuilder(16); StringBuilder CodigoBarras = new StringBuilder(20); StringBuilder CodigoMIFARE = new StringBuilder(20); StringBuilder CodigoTAG = new StringBuilder(20); StringBuilder MensagemErro = new StringBuilder(256); //string sBiometrico, bio1 = "", bio2; //int tamanhoTemplate, tamanhoBiometrico, pos, pos_anterior; int i = 0; long cracha = 0; //Int64 decValue; if (!base.GerarArquivoBiometria(Terminal)) { return(false); } Connect(TerminalDados.Indice); REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_BuscaTodosFuncionarios(REPZPM_DLL.Handle); int TotalRegistros = REPZPM_DLL.DLLREP_TotalRetornos(REPZPM_DLL.Handle); if (TotalRegistros > 0) { for (i = 1; i <= TotalRegistros; i++) { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_RetornoFuncionario(REPZPM_DLL.Handle, i, PIS, Matricula, NomeFuncionario, Biometrico, HabilitaTeclado, CodigoTeclado, CodigoBarras, CodigoMIFARE, CodigoTAG); if (REPZPM_DLL.Retorno == 1) { func.Funcionario.Pis = PIS.ToString(); func.Funcionario.Nome = NomeFuncionario.ToString(); func.template = Biometrico.ToString(); func.tecladoHabilitado = HabilitaTeclado.ToString(); func.Funcionario.Matricula = Matricula.ToString(); func.Funcionario.TecladoPassword = CodigoTeclado.ToString(); func.Funcionario.Crachas = new List <long>(); if (CodigoBarras.ToString() != "") { cracha = long.Parse(CodigoBarras.ToString()); } if (cracha != 0) { func.Funcionario.Crachas.Add(cracha); } listBiometrias.Add(func); } else { log.AddLog(Consts.ERRO_ENVIO_COMANDO_CODIGO); return(false); } } } else { log.AddLog("NÃO HÁ FUNCIONARIOS CADASTRADOS NO REP"); return(false); } string folder = Folders.folderArquivoBiometria(getRepFabricante()); FinalizarArquivoBiometria(folder, listBiometrias); log.AddLog(Consts.BIOMETRIA_ARQUIVO_GERADO_SUCESSO); return(true); }
public override bool EnviarArquivoBiometria(int Terminal) { base.EnviarArquivoBiometria(Terminal); int contadoLinha = 0; List <string> Arquivos = new List <string>(); List <AssepontoRep.Types.Biometria> listBiometrias = new List <Types.Biometria>(); Types.Biometria Biometria = new Types.Biometria(); string folder = AssepontoRep.Folders.folderArquivoBiometria(getRepFabricante()); Files.ReadFile(folder + "biometria.txt", Arquivos); try { foreach (string linha in Arquivos) { contadoLinha++; if (contadoLinha == 1) { Biometria.Funcionario.Pis = linha.Substring(0, 11); } if (contadoLinha == 2) { Biometria.Dedo1 = Convert.ToInt16(linha.Substring(0, 1)); } if (contadoLinha == 3) { Biometria.Dedo2 = Convert.ToInt16(linha.Substring(0, 1)); } if (contadoLinha == 4) { Biometria.template = linha.Substring(0, 1544); } if (linha.Substring(0, 1) == "+") { listBiometrias.Add(Biometria); contadoLinha = 0; } } Dimep_Conectar(); EfingerPrintSensor fingerPrintSensor; fingerPrintSensor = EfingerPrintSensor.Suprema; if (fingerPrintSensor != EfingerPrintSensor.Fugitsu) { foreach (Types.Biometria arquivo in listBiometrias) { this._watchComm.IncludeFingerPrint(arquivo.Funcionario.Pis, arquivo.template, (EFingerPrintType)Int16.Parse((arquivo.Dedo1).ToString()), (EFingerPrintType)Int16.Parse((arquivo.Dedo2).ToString()), fingerPrintSensor); } log.AddLog(Consts.BIOMETRIA_ARQUIVO_ENVIADO_SUCESSO); } return(true); } catch (Exception ex) { log.AddLog(Consts.ERRO_ENVIO_COMANDO); return(false); } finally { Dimep_Desconectar(); } }