Exemple #1
0
        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();
            }
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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();
            }
        }