//private static byte[] ReadFile(string filePath) //{ // byte[] buffer; // FileStream fileStream = new FileStream(filePath, FileMode.Open, FileAccess.Read); // try // { // int length = (int)fileStream.Length; // get file length // buffer = new byte[length]; // create buffer // int count; // actual number of bytes read // int sum = 0; // total number of bytes read // // read until Read method returns 0 (end of the stream has been reached) // while ((count = fileStream.Read(buffer, sum, length - sum)) > 0) // sum += count; // sum is a buffer offset for next reading // } // finally // { // fileStream.Close(); // } // return buffer; //} private void EnviarBiometria(int Terminal, string IP, int Porta, string PIS, string Nome, int Funcionario, string Arquivo) { string bio = ReadFile(Arquivo); string pis = PIS; for (int i = pis.Length; i < 12; i++) { pis = "0" + pis; } string msg = pis + "1" + bio; Comando cmd = new Comando(Protocolo.CMD_BIOMETRIA, Protocolo.SET, msg); Rede rede = new Rede(IP, Porta, edLog); if (rede.EnviaComandoTCP(cmd, Nome) == true) { DB db = new DB(); db.ExecuteCommand( "UPDATE TerminaisFuncionarios " + "SET TRMF_BIOMETRIA_ENVIADA_EM = GETDATE() " + "WHERE TRMF_TERMINAL = " + Terminal.ToString() + " " + "AND TRMF_FUNC = " + Funcionario.ToString() ); } }
public void EnviaDataHora(string IP, int Porta) { // Monta a data e hora string data = DateTime.Now.Date.ToString("ddMMyyyy"); string hora = DateTime.Now.Hour.ToString(); if (hora.Length < 2) { hora = "0" + hora; } string min = DateTime.Now.Minute.ToString(); if (min.Length < 2) { min = "0" + min; } string sec = DateTime.Now.Second.ToString(); if (sec.Length < 2) { sec = "0" + sec; } string horario = hora + min + sec; string msg = ""; msg = data + horario; Comando cmd = new Comando(Protocolo.CMD_DATA_HORA, Protocolo.SET, msg); Rede rede = new Rede(IP, Porta, edLog); rede.EnviaComandoTCP(cmd); }
private void FinalizarImportacao(string arquivo, List <string> marcacoes, Rede rede) { using (StreamWriter file = new StreamWriter(arquivo)) foreach (string s in marcacoes) { file.WriteLine(s); } rede.AddLog("MARCAÇÕES SALVAS EM " + arquivo); }
private void importar_marcacoes_terminal(int Terminal) { GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME); string diretoriomarcacoes = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Marcacoes\\" + TERMINALNOME; string arquivo = diretoriomarcacoes + "\\" + String.Format("{0:yyyy MM dd}", DateTime.Now) + ".txt"; bool ExpirouTimeout = false; CANCELAR = false; Rede rede = new Rede(IP, PORTA, edLog); for (int y = 1; y <= 1; y++) { rede.RecebeMarcacoesTCP(Terminal, arquivo, Grupo, ref ExpirouTimeout, this); ULTIMOARQUIVOIMPORTADO = arquivo; mmUltimoArquivoImportado.Visible = true; if (ExpirouTimeout) { rede.AddLog("RECONECTANDO APÓS TIMEOUT [TENTATIVA " + y.ToString() + "]"); for (int i = 5; i > 0; i--) { if (i == 1) { rede.AddLog("CONECTANDO EM 1 SEGUNDO"); } else { rede.AddLog("CONECTANDO EM " + i.ToString() + " SEGUNDOS"); } Application.DoEvents(); rSystem.PauseForSeconds(1); if (CANCELAR) { rede.AddLog("RECONEXÃO CANCELADA"); break; } } } else { break; } if (CANCELAR) { break; } } }
private void ExcluirFuncionario(int Terminal, string IP, int Porta, string PIS, string Nome, int Funcionario) { string msg = MontaMensagemExclusaoFuncionario(PIS); Comando cmd = new Comando(Protocolo.CMD_EXCLUSAO, Protocolo.SET, msg); Rede rede = new Rede(IP, Porta, edLog); rede.AddLog("EXCLUINDO " + Nome); rede.EnviaComandoTCP(cmd); DB db = new DB(); db.ExecuteCommand( "UPDATE TerminaisFuncionarios " + "SET TRMF_ARMAZENADO_EM = NULL " + "WHERE TRMF_TERMINAL = " + Terminal.ToString() + " " + "AND TRMF_FUNC = " + Funcionario.ToString() ); }
public void EnviaInfoEmpresa(int Terminal, string IP, int Porta) { string Identificador; string Nome; string Cei; string Endereco; byte IdentificadorTipo; DB db = new DB(); db.LerEmpresa(Terminal, out IdentificadorTipo, out Identificador, out Nome, out Cei, out Endereco); string mensagem = MontaMensagemEmpresa(Identificador, Nome, Cei, Endereco); Comando cmd = MontaComando(mensagem, Protocolo.CMD_EMPRESA, Protocolo.SET); Rede rede = new Rede(IP, Porta, edLog); rede.EnviaComandoTCP(cmd); }
private void enviar_biometrias_terminal(int Terminal) { DB db = new DB(); GetDadosTerminal(Terminal, out IP, out PORTA, out TERMINALNOME); Rede rede = new Rede(IP, PORTA, edLog); // apenas para o log SqlCommand comm = db.Conn.CreateCommand(); comm.CommandText = "SELECT FUNC_NOME, FUNC_PIS, FUNC_IND " + "FROM Funcionarios " + "INNER JOIN TerminaisFuncionarios ON TRMF_FUNC = FUNC_IND " + "WHERE TRMF_TERMINAL = " + Terminal + " AND FUNC_PIS IS NOT NULL " + "ORDER BY FUNC_NOME"; SqlDataReader reader = comm.ExecuteReader(); string diretoriobiometrias = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments) + "\\Asseponto\\Biometria"; string arquivo; while (reader.Read()) { arquivo = diretoriobiometrias + "\\" + reader["FUNC_PIS"].ToString().Trim() + "-1.bio"; rede.AddLog("ENVIANDO BIOMETRIA: " + reader["FUNC_NOME"].ToString().Trim()); if (File.Exists(arquivo)) { EnviarBiometria( Terminal, IP, PORTA, reader["FUNC_PIS"].ToString().Trim(), "", Convert.ToInt32(reader["FUNC_IND"].ToString()), arquivo ); } else { rede.AddLog("ARQUIVO DE BIOMETRIA NÃO ENCONTRADO"); } } reader.Close(); }
private void EnviarFuncionario(int Terminal, string IP, int Porta, string Cartao, string PIS, string Senha, string Nome, int Funcionario, bool CodigoBarras, bool Proximidade, bool Biometria, bool Teclado) { Rede rede = new Rede(IP, Porta, edLog); if (PIS == string.Empty) { rede.AddLog(String.Format("{0}: PIS NÃO INFORMADO", Nome)); return; } string msg = MontaMensagemFuncionario(Cartao, PIS, Senha, Nome, CodigoBarras, Proximidade, Biometria, Teclado); Comando cmd = new Comando(Protocolo.CMD_FUNCIONARIO, Protocolo.SET, msg); DB db = new DB(); if (rede.EnviaComandoTCP(cmd) == true) { db.ExecuteCommand( "UPDATE TerminaisFuncionarios " + "SET TRMF_ARMAZENADO_EM = GETDATE() " + "WHERE TRMF_TERMINAL = " + Terminal.ToString() + " " + "AND TRMF_FUNC = " + Funcionario.ToString() ); } }
public void ProcessarMarcacoes(Rede rede, int Grupo, List <string> marcacoes) { Inicializar_TabTemp_DescontoDsr(); rede.AddLogUnformatted(); rede.AddLog(string.Format("PROCESSANDO {0} MARCAÇÕES", marcacoes.Count)); int marcacao = 1; try { foreach (string s in marcacoes) { string Pis = ""; string Data = ""; string Hora = ""; string Nome = ""; string Mensagem = ""; Pis = s.Substring(0, 12).Trim(); Data = s.Substring(13, 10); Hora = s.Substring(24); //progressimportacao.lbMensagem.Text = String.Format("{0} {1} {2}", Pis, Data, Hora); //ExecuteCommand(String.Format("EXEC importar_marcacao @P_GRUPO = {0},@P_PIS = {1}, @P_DATA = '{2}', @P_HORA = '{3}'", Grupo, Pis, Data, Hora)); ProcessarMarcacao(Grupo, Pis, Data, Hora, out Nome, out Mensagem); rede.AddLogUnformatted(String.Format("{0} {1} {2} {3} {4} {5}", marcacao.ToString() + "/" + marcacoes.Count.ToString(), Pis, Data, Hora, Nome, Mensagem)); Application.DoEvents(); marcacao++; } } finally { Finalizar_TabTemp_DescontoDsr(); } }