public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { DBApp db = new DBApp(); Connect(TerminalDados.Indice); string from = ""; string to = ""; RepProtocol.FiltroRegistro f; if (tipoimportacao == TipoImportacaoMarcacoes.OnlyNew) { f = RepProtocol.FiltroRegistro.NsrRange; RepProtocol.MrpStatus st = repProtocol.GetMrpStatus(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1; from = ProximoNsr.ToString().PadLeft(9, '0'); to = st.LastNSR.ToString(); } else { f = RepProtocol.FiltroRegistro.All; } List <string> r = repProtocol.GetRegs(f, from, to, null); foreach (string linha in r) { Marcacoes.Marcacao marcacao = new Marcacoes.Marcacao(); marcacoes.InterpretarRegistroAfd(linha, out marcacao); if (marcacao.Tipo == Marcacoes.TiposRegistroAfd.Marcacao) { marcacoes.Add(marcacao); } } //Wr.Classes.Files.WriteFile(@"c:\arquivo.txt", r); return(marcacoes.Count > 0); }
public override bool LerMarcacoes(Marcacoes marcacoes, AssepontoRep.Bridge.TipoImportacaoMarcacoes tipoimportacao) { bool Result = base.LerMarcacoes(marcacoes, tipoimportacao); DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(TerminalDados.Indice) + 1; string ArquivoTemp = Path.GetTempFileName(); int Contador = 0; if (Connect(TerminalDados.Indice)) { int resultado = envioDll.LeCadastro(TerminalDados.IP, 5, ProximoNsr.ToString(), ArquivoTemp); if (resultado == 0) { List <string> arquivo = new List <string>(); Wr.Classes.Files.ReadFile(ArquivoTemp, arquivo); foreach (string S in arquivo) { string[] linhaReg = S.Split(';'); if (linhaReg[1] == Convert.ToInt32(Marcacoes.TiposRegistroAfd.Marcacao).ToString()) { string Pis = linhaReg[4]; try { DateTime DataHora = new DateTime( Convert.ToInt32(linhaReg[2].Substring(4, 4)), Convert.ToInt32(linhaReg[2].Substring(2, 2)), Convert.ToInt32(linhaReg[2].Substring(0, 2)), Convert.ToInt32(linhaReg[3].Substring(0, 2)), Convert.ToInt32(linhaReg[3].Substring(2, 2)), 0 ); int Nsr = Convert.ToInt32(linhaReg[0]); marcacoes.Add(Pis, DataHora, Nsr); Contador++; Result = true; } catch { log.AddLog(S); Result = false; } } } File.Delete(ArquivoTemp); Disconnect(TerminalDados.Indice); } else { Disconnect(TerminalDados.Indice); LogMensagem(resultado); } } return(Result); }
public bool Gertec_ImportarMarcacoes(int Terminal, string TerminalNome, Marcacoes marcacoes) { bool Result = false; DBApp db = new DBApp(); int ProximoNsr = db.getLastNsr(Terminal) + 1; string diretoriomarcacoes = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Marcacoes\\" + TerminalNome; Wr.Classes.Files.ForceDirectories(diretoriomarcacoes); string ArquivoTemp = Path.GetTempFileName(); System.Text.Encoding iso_8859_1 = System.Text.Encoding.GetEncoding("iso-8859-1"); int Contador = 0; if (Gertec_Conectar()) { int resultado = envioDll.LeCadastro(IP, 5, ProximoNsr.ToString(), ArquivoTemp); if (resultado == 0) { FileStream abreArquivoTxt = new FileStream(ArquivoTemp, FileMode.Open, FileAccess.Read); StreamReader sr = new StreamReader(abreArquivoTxt, iso_8859_1); string line = ""; while ((line = sr.ReadLine()) != null) { string[] linhaReg = line.Split(';'); if (linhaReg[1] == "3") { string Pis = linhaReg[4]; bool Erro = false; DateTime DataHora; try { DataHora = new DateTime( Convert.ToInt32(linhaReg[2].Substring(4, 4)), Convert.ToInt32(linhaReg[2].Substring(2, 2)), Convert.ToInt32(linhaReg[2].Substring(0, 2)), Convert.ToInt32(linhaReg[3].Substring(0, 2)), Convert.ToInt32(linhaReg[3].Substring(2, 2)), 0 ); int Nsr = Convert.ToInt32(linhaReg[0]); if (Nsr > ProximoNsr) { ProximoNsr = Nsr; } marcacoes.Add(Pis, DataHora, Nsr); Contador++; } catch { log.AddLog(line); Erro = true; } } } sr.Close(); File.Delete(ArquivoTemp); Gertec_Desconectar(); if (Contador > 0) { string Arquivo = marcacoes.SaveToFile(); log.AddLog(String.Format(Consts.ARQUIVO_GERADO, Arquivo)); Result = true; } else { log.AddLog(Consts.SEM_MARCACOES); } if (ProximoNsr > 0) { db.setLastNsr(Terminal, ProximoNsr); } } else { Gertec_Desconectar(); LogMensagem(resultado); } } return(Result); }