public static extern unsafe bool leTrabalhador(TDados dados, TControle controle);
public static extern bool leTrabalhadorTCP(out TDados dados, TControle controle);
public static extern bool leEmpregadorTCP(out TDados dados, TControle controle);
public static extern unsafe bool leEmpregador(TDados dados, TControle controle);
//[return: MarshalAs(UnmanagedType.Bool)] public static extern bool enviaEmpregadorTCP(ref TDados dados, ref TControle controle);
public override bool sendFuncionario(Types.Funcionario Funcionario) { TControle controle = new TControle(); TControle controle2 = new TControle(); string ip = TerminalDados.IP; string backup = "N"; ASCIIEncoding enc = new ASCIIEncoding(); controle.endereco = new byte[ip.Length + 1]; controle.backup = new byte[backup.Length + 1]; controle.endereco = enc.GetBytes(ip); controle.backup = enc.GetBytes(backup); controle.porta = Convert.ToInt16(TerminalDados.Porta); controle.s_tipo = s_tipo; controle.modelo = (byte)modelo; controle.baudrate = 9600; controle.erro = 0; controle.atual = 0; controle.total = 2; controle.start = 1; controle2 = controle; TDados dados = new TDados(); string adcOUSubst = "A"; string pin = Funcionario.Crachas[0].ToString(); string pis = Funcionario.Pis; string nome = Funcionario.Nome.Substring(0, (Funcionario.Nome.Length >= 52 ? 52 : Funcionario.Nome.Length)); string id_bio = "0"; string numCartao = string.IsNullOrEmpty(Funcionario.Proximidade) ? string.IsNullOrEmpty(Funcionario.Barras) ? "0" : Funcionario.Barras : Funcionario.Proximidade; string senha = Funcionario.Crachas[0].ToString(); string mestre = "0"; dados.tipoId = new byte[1]; dados.identificador = new byte[1]; dados.cei = new byte[1]; dados.razaoSocial = new byte[1]; dados.localPrestServ = new byte[1]; dados.adcOUSubst = new byte[adcOUSubst.Length + 1]; dados.pin = new byte[pin.Length + 1]; dados.pis = new byte[pis.Length + 1]; dados.nome = new byte[nome.Length + 1]; dados.id_bio = new byte[id_bio.Length + 1]; dados.numCartao = new byte[numCartao.Length + 1]; dados.senha = new byte[senha.Length + 1]; dados.mestre = new byte[mestre.Length + 1]; dados.verifica = new byte[1]; dados.tipoId = enc.GetBytes(""); dados.identificador = enc.GetBytes(""); dados.cei = enc.GetBytes(""); dados.razaoSocial = enc.GetBytes(""); dados.localPrestServ = enc.GetBytes(""); dados.adcOUSubst = enc.GetBytes(adcOUSubst); dados.pin = enc.GetBytes(pin); dados.pis = enc.GetBytes(pis); dados.nome = enc.GetBytes(nome); dados.id_bio = enc.GetBytes(id_bio); dados.numCartao = enc.GetBytes(numCartao); dados.senha = enc.GetBytes(senha); dados.mestre = enc.GetBytes(mestre); dados.verifica = enc.GetBytes(""); if (Authotelcom.enviaEmpregadorTCP(dados, controle)) { controle.start = 0; Authotelcom.enviaEmpregadorTCP(ref dados, ref controle); if (controle.erro == 0) { Authotelcom.fecharComunicacao(); TDados novo = new TDados(); novo.pis = dados.pis; if (Authotelcom.leTrabalhadorTCP(novo, out controle2)) { if (controle2.erro == 0 && controle2.total == 0 && controle2.atual == 0) { log.AddLog("NÃO EXISTE FUNCIONARIOS NO REP"); } else { controle.start = 0; Authotelcom.leTrabalhadorTCP(out dados, controle); } } log.AddLog("FUNCIONARIO ENVIADO COM SUCESSO..."); Authotelcom.fecharComunicacao(); return(true); } else { log.AddLog("Erro: " + controle.erro.ToString()); Authotelcom.fecharComunicacao(); return(false); } } else { log.AddLog("Erro no envio do comando."); return(false); } }
public override bool sendInfoEmpresa(int Terminal, out Types.Empregador EmpregadorDados) { if (!base.sendInfoEmpresa(Terminal, out EmpregadorDados)) { return(false); } //if (Connect(Terminal)) //{ TControle controle = new TControle(); #region //string backup = "N"; //controle.endereco = StringForBytes(TerminalDados.IP); //controle.backup = StringForBytes(backup); //controle.porta = Convert.ToInt16(TerminalDados.Porta); //controle.s_tipo = s_tipo; //controle.modelo = (byte)modelo; //controle.baudrate = baudrate; //controle.erro = Convert.ToByte(0); //controle.atual = Convert.ToByte(1); //controle.total = Convert.ToByte(1); //controle.start = Convert.ToByte(true); //controle.hash = StringForBytes("0", 1); #endregion controle.endereco = StringForBytes("192.168.1.199", "192.168.1.199".Length); controle.backup = StringForBytes("N", "N".Length); controle.porta = Convert.ToInt16(1001); controle.s_tipo = Convert.ToByte(2); controle.modelo = Convert.ToByte(6); controle.baudrate = 9600; controle.erro = Convert.ToByte(0); controle.atual = Convert.ToByte(1); controle.total = Convert.ToByte(1); controle.start = Convert.ToByte(true); controle.hash = StringForBytes("0", 1); TDados dados = new TDados(); string tipoId = "1"; string identificador = EmpregadorDados.Pessoa; string cei = string.IsNullOrEmpty(EmpregadorDados.Cei.Replace(" ", "")) ? "0" : EmpregadorDados.Cei; string razaoSocial = EmpregadorDados.Nome; string localPrestServ = EmpregadorDados.Endereco; string adcOUSubst = "A"; dados.tipoId = StringForBytes(tipoId, 1); dados.identificador = StringForBytes(identificador); dados.cei = StringForBytes(cei); dados.razaoSocial = StringForBytes(razaoSocial, 150); dados.localPrestServ = StringForBytes(localPrestServ, 100); dados.adcOUSubst = StringForBytes(adcOUSubst, 1); dados.pin = StringForBytes(""); dados.pis = StringForBytes(""); dados.nome = StringForBytes(""); dados.id_bio = StringForBytes(""); dados.numCartao = StringForBytes(""); dados.senha = StringForBytes(""); dados.mestre = StringForBytes(""); dados.verifica = StringForBytes(""); dados.cpf = StringForBytes("01"); //dados.chave = StringForBytes("0", 64); if (Authotelcom.enviaEmpregadorTCP(ref dados, ref controle)) { if (controle.erro == 0) { controle.start = Convert.ToByte(false); if (Authotelcom.enviaEmpregadorTCP(ref dados, ref controle)) { if (controle.erro == 0) { log.AddLog("EMPREGADOR ATUALIZADO COM SUCESSO...", true); Authotelcom.fecharComunicacao(); return(true); } else { log.AddLog(string.Format("ERRO ({0}) NO RELÓGIO.", controle.erro.ToString()), true); Authotelcom.fecharComunicacao(); return(false); } } else { log.AddLog(string.Format("ERRO ({0}) AO ENVIAR DADOS AO RELÓGIO.", controle.erro.ToString()), true); Authotelcom.fecharComunicacao(); return(false); } } else { log.AddLog(string.Format("ERRO ({0}) AO ENVIAR DADOS AO RELÓGIO.", controle.erro.ToString()), true); Authotelcom.fecharComunicacao(); return(false); } } else { log.AddLog("ERRO NO ENVIO DO COMANDO.", true); return(false); } //} //else //{ // return false; //} }