示例#1
0
 public static extern unsafe bool leTrabalhador(TDados dados, TControle controle);
示例#2
0
 public static extern bool leTrabalhadorTCP(out TDados dados, TControle controle);
示例#3
0
 public static extern bool leEmpregadorTCP(out TDados dados, TControle controle);
示例#4
0
 public static extern unsafe bool leEmpregador(TDados dados, TControle controle);
示例#5
0
 //[return: MarshalAs(UnmanagedType.Bool)]
 public static extern bool enviaEmpregadorTCP(ref TDados dados, ref TControle controle);
示例#6
0
        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);
            }
        }
示例#7
0
        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;
            //}
        }