Esempio n. 1
0
        private void getFuncionario(string Pis, out string FuncionarioNome, out string Cracha, out bool Teclado, out string CodigoTeclado,
                                    out string CodigoBarras, out string CodigoMifare, out string CodigoTag)
        {
            StringBuilder sPIS             = new StringBuilder(11);
            StringBuilder sMatricula       = new StringBuilder(20);
            StringBuilder sNomeFuncionario = new StringBuilder(52);
            StringBuilder sBiometrico      = new StringBuilder(20000); //Valor definido baseado na maior template possivel de ser gerada c/ 10 digitais cadastradas.
            StringBuilder sHabilitaTeclado = new StringBuilder(1);
            StringBuilder sCodigoTeclado   = new StringBuilder(16);
            StringBuilder sCodigoBarras    = new StringBuilder(20);
            StringBuilder sCodigoMIFARE    = new StringBuilder(20);
            StringBuilder sCodigoTAG       = new StringBuilder(20);
            StringBuilder MensagemErro     = new StringBuilder(256);

            Cracha          = String.Empty;
            FuncionarioNome = String.Empty;
            Teclado         = false;
            CodigoTeclado   = String.Empty;
            CodigoBarras    = String.Empty;
            CodigoMifare    = String.Empty;
            CodigoTag       = String.Empty;

            REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_BuscaFuncionario(REPZPM_DLL.Handle, Pis);

            /*Sucesso na execução do comando*/
            if (REPZPM_DLL.ID_Comando > 0)
            {
                /**************************************************************************************************************************
                 * MODO IP                                                                                                                  *
                 ***************************************************************************************************************************/
                if (REPZPM_DLL.Modo == 0)
                {
                    NRegistros = REPZPM_DLL.DLLREP_TotalRetornos(REPZPM_DLL.Handle);

                    /*Verifica se retornaram registros*/
                    if (NRegistros > 0)
                    {
                        /*Limpa a listagem*/
                        /*Executa a busca dos Funcionários*/
                        for (int i = 1; i <= NRegistros; i++)
                        {
                            REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_RetornoFuncionario(REPZPM_DLL.Handle, i, sPIS, sMatricula, sNomeFuncionario, sBiometrico, sHabilitaTeclado, sCodigoTeclado, sCodigoBarras, sCodigoMIFARE, sCodigoTAG);

                            /*Sucesso na execução do comando*/
                            if (REPZPM_DLL.Retorno == 1)
                            {
                                Cracha          = sMatricula.ToString();
                                FuncionarioNome = sNomeFuncionario.ToString();
                                Teclado         = sHabilitaTeclado.ToString() == "S" ? true : false;
                                CodigoTeclado   = sCodigoTeclado.ToString();
                                CodigoBarras    = sCodigoBarras.ToString();
                                CodigoMifare    = sCodigoMIFARE.ToString();
                                CodigoTag       = sCodigoTAG.ToString();
                            }
                            else
                            {
                                /*Trata o retorno de erro do REP*/
                                log.AddLog(REPZPM_DLL.Trata_Retorno_REP(REPZPM_DLL.Retorno), true);
                                return;
                            }
                        }
                    }
                    else
                    {
                        log.AddLog("Não há funcionário cadastrado no REP");
                        return;
                    }
                }
            }
            else
            {
                /*Houve erro no processamento do Handle*/
                log.AddLog(REPZPM_DLL.Trata_Retorno_DLL(REPZPM_DLL.ID_Comando));
                return;
            }
        }