public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { Connect(TerminalDados.Indice); bool Result = false; int NRegistrosLidos = 0; DateTime DataInicial; DateTime DataFinal; StringBuilder PIS = new StringBuilder(11); StringBuilder DataHora = new StringBuilder(19); StringBuilder NSR = new StringBuilder(20); StringBuilder MensagemErro = new StringBuilder(256); //Marcacoes marcacoes = new Marcacoes(TerminalDados); if (!getPeriodo(out DataInicial, out DataFinal)) { return(false); } //REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_BuscaPonto(REPZPM_DLL.Handle, DataInicial.ToString("dd/MM/yyyy"), DataFinal.ToString("dd/MM/yyyy")); //if (REPZPM_DLL.ID_Comando == -4) //{ int count = 1; do { REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_BuscaPonto(REPZPM_DLL.Handle, DataInicial.ToString("dd/MM/yyyy"), DataFinal.ToString("dd/MM/yyyy")); if (REPZPM_DLL.ID_Comando == -4) { int timeout = REPZPM_DLL.DLLREP_LeTimeout(REPZPM_DLL.Handle); if (timeout != -1) { REPZPM_DLL.DLLREP_DefineTimeout(REPZPM_DLL.Handle, (timeout * (count + 1))); } else { REPZPM_DLL.DLLREP_DefineTimeout(REPZPM_DLL.Handle, 100000); } } count++; }while (REPZPM_DLL.ID_Comando == -4 && count <= 11); //} if (REPZPM_DLL.ID_Comando >= 0) { /*Retorna a quantidade de registros*/ NRegistros = REPZPM_DLL.DLLREP_TotalRetornos(REPZPM_DLL.Handle); log.AddLog(String.Format(Consts.MARCACOES_A_PROCESSAR, NRegistros)); if (NRegistros > 0) { for (int i = 1; i <= NRegistros; i++) { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_RetornoPonto(REPZPM_DLL.Handle, i, PIS, DataHora, NSR); if (REPZPM_DLL.Retorno > 0) { marcacoes.Add(PIS.ToString(), Convert.ToDateTime(DataHora.ToString()), Convert.ToInt32(NSR.ToString())); log.AddLogUnformatted(PIS.ToString().PadRight(18) + DataHora + " " + NSR); NRegistrosLidos++; } else { //REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemMensagemErro(REPZPM_DLL.Handle, MensagemErro, 1); //log.AddLog(Convert.ToString(MensagemErro)); int ret = REPZPM_DLL.DLLREP_ObtemCodigoErro(REPZPM_DLL.Handle, REPZPM_DLL.Retorno); log.AddLog(REPZPM_DLL.Trata_Retorno_DLL(ret)); } } } else { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } Result = (NRegistrosLidos > 0); if (Result) { marcacoes.SaveToFile(); log.AddLogUnformatted(String.Format(Consts.ARQUIVO_GERADO, marcacoes.Arquivo)); log.AddLineBreak(); } else { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } } else { Result = false; log.AddLog(REPZPM_DLL.Trata_Retorno_DLL(REPZPM_DLL.ID_Comando)); } Disconnect(TerminalDados.Indice); return(Result); }
public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { Connect(TerminalDados.IP, TerminalDados.Porta); bool Result = false; int NRegistrosLidos = 0; DateTime DataInicial; DateTime DataFinal; StringBuilder PIS = new StringBuilder(11); StringBuilder DataHora = new StringBuilder(19); StringBuilder NSR = new StringBuilder(20); StringBuilder MensagemErro = new StringBuilder(256); //Marcacoes marcacoes = new Marcacoes(TerminalDados); if (!getPeriodo(out DataInicial, out DataFinal)) { return(false); } REPZPM_DLL.ID_Comando = REPZPM_DLL.DLLREP_BuscaPonto(REPZPM_DLL.Handle, DataInicial.ToString("dd/MM/yyyy"), DataFinal.ToString("dd/MM/yyyy")); if (REPZPM_DLL.ID_Comando > 0) { /*Retorna a quantidade de registros*/ NRegistros = REPZPM_DLL.DLLREP_TotalRetornos(REPZPM_DLL.Handle); log.AddLog(String.Format(Consts.MARCACOES_A_PROCESSAR, NRegistros)); if (NRegistros > 0) { for (int i = 1; i <= NRegistros; i++) { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_RetornoPonto(REPZPM_DLL.Handle, i, PIS, DataHora, NSR); if (REPZPM_DLL.Retorno == 1) { marcacoes.Add(PIS.ToString(), Convert.ToDateTime(DataHora.ToString()), Convert.ToInt32(NSR.ToString())); log.AddLogUnformatted(PIS.ToString().PadRight(18) + DataHora + " " + NSR); NRegistrosLidos++; } else { REPZPM_DLL.Retorno = REPZPM_DLL.DLLREP_ObtemMensagemErro(REPZPM_DLL.Handle, MensagemErro, 1); log.AddLog(Convert.ToString(MensagemErro)); } } } else { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } } Result = (NRegistrosLidos > 0); if (REPZPM_DLL.ID_Comando == -2) { log.AddLog("Erro de comunicação!"); } else { if (Result) { marcacoes.SaveToFile(); log.AddLogUnformatted(String.Format(Consts.ARQUIVO_GERADO, marcacoes.Arquivo)); log.AddLineBreak(); } else { log.AddLog(Consts.MARCACOES_NAO_HA_NOVAS); } } return(Result); }