示例#1
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            RepCid _rep = ((frmMain)this.Owner).REP;

            if (_rep != null)
            {
                byte privilegios = 0;
                if (ddlPermissao.SelectedIndex >= 0)
                {
                    privilegios = (byte)ddlPermissao.SelectedIndex;
                }

                bool lSave;
                _rep.GravarUsuario(Convert.ToInt64(txtPIS.Text), txtNome.Text, int.Parse(txtCodigo.Text), txtSenha.Text, txtBarras.Text, int.Parse(txtRFID.Text), privilegios, out lSave);

                bool apagou;
                _rep.ApagarTemplatesUsuario(Convert.ToInt64(txtPIS.Text), out apagou);
                if (txtBiometria.Text != "")
                {
                    string[] cItens = txtBiometria.Text.Split(new char[] { '\r', '\n' }, StringSplitOptions.RemoveEmptyEntries);
                    foreach (string item in cItens)
                    {
                        byte[] bt = Convert.FromBase64String(item);                         // apenas a primeira da sequencia
                        _rep.GravarTemplateUsuario(Convert.ToInt64(txtPIS.Text), bt, out lSave);
                    }
                }

                this.Close();
            }
            else
            {
                MessageBox.Show("Erro");
            }
        }
示例#2
0
        public void ConnectLoop()
        {
            int tries = 10;

            Console.WriteLine("Tentando se conectar {0} vezes com REP no endereço {1}:{2}", tries, Config.repIP, Config.repPort);
            RepCid rep  = new RepCid();
            int    idle = 0;

            for (int i = 0; i < tries; i++)
            {
                rep.iDClassLogin    = Config.repLogin;
                rep.iDClassPassword = Config.repSenha;
                rep.ConnectTimeout  = 15000;
                var status = rep.Conectar(Config.repIP, Config.repPort);
                rep.Desconectar();
                switch (status)
                {
                case RepCid.ErrosRep.OK:
                    break;

                case RepCid.ErrosRep.ErroNaoOcioso:
                    Console.WriteLine("Tentativa {0}: não ocioso", i);
                    idle++;
                    break;

                default:
                    Assert.Fail("Tentativa {0}: erro inválido ({1})", i, status.ToString());
                    break;
                }
            }
            Console.WriteLine("Quantidade de tentativas com REP ocupado: {0}", idle);
        }
示例#3
0
 public void ConnectLoop()
 {
     int tries = 10;
     Console.WriteLine("Tentando se conectar {0} vezes com REP no endereço {1}:{2}", tries, Config.repIP, Config.repPort);
     RepCid rep = new RepCid();
     int idle = 0;
     for (int i = 0; i < tries; i++)
     {
         rep.iDClassLogin = Config.repLogin;
         rep.iDClassPassword = Config.repSenha;
         rep.ConnectTimeout = 15000;
         var status = rep.Conectar(Config.repIP, Config.repPort);
         rep.Desconectar();
         switch (status)
         {
             case RepCid.ErrosRep.OK:
                 break;
             case RepCid.ErrosRep.ErroNaoOcioso:
                 Console.WriteLine("Tentativa {0}: não ocioso", i);
                 idle++;
                 break;
             default:
                 Assert.Fail("Tentativa {0}: erro inválido ({1})", i, status.ToString());
                 break;
         }
     }
     Console.WriteLine("Quantidade de tentativas com REP ocupado: {0}", idle);
 }
示例#4
0
        public void Usuario_SaveTemplate()
        {
            if (rep.iDClassSession == null)
            {
                Assert.Inconclusive("iDClass não conectado");
            }

            //UserUpdateRequest uur = new UserUpdateRequest();
            UserAddRequest uur = new UserAddRequest();

            uur.Usuario[0].PIS  = 444;
            uur.Usuario[0].Nome = "Fabio 2";
            // Digital TXAI indicador direito
            //uur.Usuario[0].Templates = new string[] { "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" };
            // Digital Fabio indicaro direito


            string template_iDX     = "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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
            string template_iDClass = RepCid.TemplateToiDClass(Convert.FromBase64String(template_iDX));

            uur.Usuario[0].Templates = new string[] { template_iDClass };

            StatusResult st = (StatusResult)RestJSON.SendJson(rep.IP, uur, typeof(StatusResult), rep.iDClassSession);

            if (!st.isOK)
            {
                Assert.Inconclusive(st.Status);
            }
        }
示例#5
0
        public static void TestRepUsers(object prm)
        {
            string cIP = (string)prm;
            int nREP = nTask;
            nTask++;
            RepCid rep = new RepCid();
            Controlid.RepCid.ErrosRep status = rep.Conectar(cIP, 1818);
            if (status == RepCid.ErrosRep.OK)
                Console.WriteLine("REP" + nREP + ": Conectado");
            else
            {
                Console.WriteLine(rep.LastLog());
                Assert.Fail("REP" + nREP + ": Erro ao conectar! " + status.ToString());
            }

            int qtd;
            if (!rep.CarregarUsuarios(true, out qtd))
                Assert.Fail("Erro ao carregar usuários do REP" + nREP);

            Console.WriteLine("REP" + nREP + ": Usuários: " + qtd);

            Int64 pis;
            string nome;
            int codigo;
            string senha;
            string barras;
            int rfid;
            int privilegios;
            int ndig;
            while (rep.LerUsuario(out pis, out nome, out codigo, out senha, out barras, out rfid, out privilegios, out ndig))
                Console.WriteLine(string.Format("REP" + nREP + ": {0}:{1} {2}:{3} {4}|{5} {6} {7}", pis, nome, codigo, senha, barras, rfid, privilegios, ndig));

        }
示例#6
0
        //public static RepCid ConectarREP(string ip, int port, uint @passcode, string user, string password)
        //{
        //    RepCid rep = null;
        //    if (rep == null)
        //    {
        //        rep = new RepCid();
        //        rep.iDClassLogin = user;
        //        rep.iDClassPassword = password;
        //        rep.iDClassPort = 8000;
        //        Controlid.RepCid.ErrosRep status = rep.Conectar(ip, port, @passcode);
        //        string Retorno = status == RepCid.ErrosRep.OK ? "Conectado" : "Erro ao Conectar";
        //    }
        //    return rep;
        //}

        private void Connect()
        {
            if (_rep != null)
            {
                _rep.Desconectar();
            }

            _rep = new RepCid();

            LogErro(_rep.Conectar(TerminalDados.IP, TerminalDados.Porta, Convert.ToUInt32(string.IsNullOrEmpty(TerminalDados.SupervisorCodigo) ? "0" : TerminalDados.SupervisorCodigo)));
        }
示例#7
0
        private void frmUser_Load(object sender, EventArgs e)
        {
            RepCid _rep = ((frmMain)this.Owner).REP;

            if (_rep != null)
            {
                string cNome, cSenha, cBarras;
                int    iCodigo, iRFID;
                int    privilegios;
                Int64  pis64;
                if (!Int64.TryParse(PIS, out pis64))
                {
                    pis64 = 0;
                }
                _rep.LerDadosUsuario(pis64, out cNome, out iCodigo, out cSenha, out cBarras, out iRFID, out privilegios);

                txtNome.Text   = cNome;
                txtPIS.Text    = PIS;
                txtSenha.Text  = cSenha;
                txtCodigo.Text = iCodigo.ToString();
                txtBarras.Text = cBarras;
                txtRFID.Text   = iRFID.ToString();
                if (privilegios < 0)
                {
                    ddlPermissao.SelectedIndex = 0;
                }
                else if (privilegios >= ddlPermissao.Items.Count)
                {
                    ddlPermissao.SelectedIndex = ddlPermissao.Items.Count - 1;
                }
                else
                {
                    ddlPermissao.SelectedIndex = privilegios;
                }

                int num_templates;
                if (_rep.CarregarTemplatesUsuario(Convert.ToInt64(PIS), out num_templates))
                {
                    string template_base64;
                    txtBiometria.Text = "";
                    while (_rep.LerTemplateStr(out template_base64))
                    {
                        txtBiometria.Text += template_base64 + "\r\n\r\n";
                    }
                }
            }
        }
示例#8
0
文件: iDClass.cs 项目: yaba/RepCid
        public void Usuario_SaveTemplate()
        {
            UserAddRequest uur = new UserAddRequest();

            uur.Usuario[0].PIS  = (ulong)Config.pisTEST;
            uur.Usuario[0].Nome = "Fabio Teste";
            string template_iDX     = "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AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==";
            string template_iDClass = RepCid.TemplateToiDClass(Convert.FromBase64String(template_iDX));

            uur.Usuario[0].Templates = new string[] { template_iDClass };

            StatusResult st = RestJSON.SendJson <StatusResult>(Config.repIP, uur, session);

            if (!st.isOK)
            {
                Assert.Inconclusive(st.Status);
            }
        }
示例#9
0
文件: Config.cs 项目: cbsistem/RepCid
 public static RepCid ConectarREP()
 {
     if (rep == null)
     {
         rep = new RepCid();
         rep.iDClassLogin = repLogin;
         rep.iDClassPassword = repSenha;
         Controlid.RepCid.ErrosRep status = rep.Conectar(repIP, repPort, repiDXSenha);
         if (status == RepCid.ErrosRep.OK)
             Console.WriteLine("REP Conectado");
         else
         {
             Console.WriteLine(rep.LastLog());
             Assert.Fail("Erro ao conectar: " + status.ToString());
         }
     }
     return rep;
 }
示例#10
0
 public static RepCid ConectarREP()
 {
     if (rep == null)
     {
         rep = new RepCid();
         Controlid.RepCid.ErrosRep status = rep.Conectar(repIP, repPort);
         if (status == RepCid.ErrosRep.OK)
         {
             Console.WriteLine("REP Conectado");
         }
         else
         {
             Console.WriteLine(rep.LastLog());
             Assert.Fail("Erro ao conectar: " + status.ToString());
         }
     }
     return(rep);
 }
示例#11
0
        private void Connect()
        {
            if (_rep != null)
            {
                _rep.Desconectar();
            }

            _rep = new RepCid();
            //string con = "";
            //if (TerminalDados.IP.Replace(" ", "").Contains("dns:"))
            //{
            //    IPAddress[] ip = Dns.GetHostAddresses(TerminalDados.IP.Replace(" ", "").Replace("dns:", ""));
            //    con = ip[0].ToString();
            //}
            //else
            //    con = TerminalDados.IP;

            LogErro(_rep.Conectar(TerminalDados.IP, TerminalDados.Porta, 0));//, Convert.ToUInt32(string.IsNullOrEmpty(TerminalDados.SupervisorCodigo) ? "0" : TerminalDados.SupervisorCodigo)));
        }
示例#12
0
文件: ThreadSafe.cs 项目: yaba/RepCid
        public static void TestRepUsers(object prm)
        {
            string cIP  = (string)prm;
            int    nREP = nTask;

            nTask++;
            RepCid rep = new RepCid();

            Controlid.RepCid.ErrosRep status = rep.Conectar(cIP, 1818);
            if (status == RepCid.ErrosRep.OK)
            {
                Console.WriteLine("REP" + nREP + ": Conectado");
            }
            else
            {
                Console.WriteLine(rep.LastLog());
                Assert.Fail("REP" + nREP + ": Erro ao conectar! " + status.ToString());
            }

            int qtd;

            if (!rep.CarregarUsuarios(true, out qtd))
            {
                Assert.Fail("Erro ao carregar usuários do REP" + nREP);
            }

            Console.WriteLine("REP" + nREP + ": Usuários: " + qtd);

            Int64  pis;
            string nome;
            int    codigo;
            string senha;
            string barras;
            int    rfid;
            int    privilegios;
            int    ndig;

            while (rep.LerUsuario(out pis, out nome, out codigo, out senha, out barras, out rfid, out privilegios, out ndig))
            {
                Console.WriteLine(string.Format("REP" + nREP + ": {0}:{1} {2}:{3} {4}|{5} {6} {7}", pis, nome, codigo, senha, barras, rfid, privilegios, ndig));
            }
        }
示例#13
0
        private void LoadUsuarios()
        {
            stInfo.Text = "Lendo REP...";
            Application.DoEvents();

            RepCid _rep = ((frmMain)this.Owner).REP;

            if (_rep != null)
            {
                int num_usuarios;
                if (_rep.CarregarUsuarios(false, out num_usuarios))
                {
                    gv.DataSource = tbUsuarios = _rep.Usuarios;
                    if (tbUsuarios != null)
                    {
                        stInfo.Text = "Lido " + tbUsuarios.Rows.Count + " Funcionários";
                    }
                }
            }
        }
示例#14
0
文件: Templates.cs 项目: yaba/RepCid
        public void Template_ExtractJoin()
        {
            byte[][] btResult = new byte[3][];
            for (int i = 1; i <= 3; i++)
            {
                Bitmap digital   = new System.Drawing.Bitmap(@"..\..\dedo" + i + ".bmp");
                byte[] btRequest = RepCid.GetBytes(digital);

                if (!rep.ExtractTemplate(btRequest, digital.Width, digital.Height, out btResult[i - 1]))
                {
                    Console.WriteLine(rep.LastLog());
                    Assert.Fail("Erro ao extrair Template " + i);
                }
                Console.WriteLine("LastQuality: " + RestJSON.LastQuality);
                Console.WriteLine("Template: " + Convert.ToBase64String(btResult[i - 1]));
            }
            byte[] btJoin;
            rep.JoinTemplates(btResult[0], btResult[1], btResult[2], out btJoin);
            Console.WriteLine("Template: " + Convert.ToBase64String(btJoin));
            //Console.WriteLine(string.Format("Código: {0}\nErro: {1}\nQualidade: {2}\nTemplate: {3}", tr.code, tr.error, tr.Qualidate, tr.Template));
        }
示例#15
0
    private bool conexao(bool conect, TBPontoEletronicoModel dados)
    {
        if (_rep != null)
        {
            _rep.Desconectar();
        }
        _rep = new RepCid();
        if (_rep.Conectar(dados.PontoEletronico_Ip.Trim(), dados.PontoEletronico_Porta, (uint)0) == RepCid.ErrosRep.OK)
        {
            if (!conect)
            {
                return(true);
            }
        }
        else
        {
            return(false);
        }

        return(true);
    }
示例#16
0
        public static Int64 pisTEST = 1; //012468202319;

        public static RepCid ConectarREP()
        {
            if (rep == null)
            {
                rep = new RepCid();
                rep.iDClassLogin    = repLogin;
                rep.iDClassPassword = repSenha;
                //rep.iDClassPort = 80; // Define o número da porta que deve ser considerado ser um iDClass (default 443)
                Controlid.RepCid.ErrosRep status = rep.Conectar(repIP, repPort, repiDXSenha); // Manda conectar na porta correta
                if (status == RepCid.ErrosRep.OK)
                {
                    Console.WriteLine("REP Conectado");
                }
                else
                {
                    Console.WriteLine(rep.LastLog());
                    Assert.Fail("Erro ao conectar: " + status.ToString());
                }
            }
            return(rep);
        }
示例#17
0
        public override bool Connect(int Terminal)
        {
            if (_rep != null)
            {
                _rep.Desconectar();
            }

            Controlid.RepCid.ErrosRep status;
            bool gravou;
            bool Retorno;

            _rep = new RepCid();
            _rep.iDClassLogin    = TerminalDados.OperadorLogin;
            _rep.iDClassPassword = TerminalDados.OperadorSenha;
            _rep.iDClassPort     = TerminalDados.Porta;
            status  = _rep.Conectar(TerminalDados.IP, TerminalDados.Porta, Convert.ToUInt32(string.IsNullOrEmpty(TerminalDados.SupervisorCodigo) ? "0" : TerminalDados.SupervisorCodigo));
            Retorno = status == RepCid.ErrosRep.OK ? true : false;

            LogErro(status);
            return(Retorno);
        }
示例#18
0
        private void Connect()
        {
            if (_rep != null)
            {
                _rep.Desconectar();
            }

            _rep = new RepCid();
            string con = "";

            if (TerminalDados.IP.Contains("www."))
            {
                IPAddress[] ip = Dns.GetHostAddresses(TerminalDados.IP);
                con = ip[0].ToString();
            }
            else
            {
                con = TerminalDados.IP;
            }

            LogErro(_rep.Conectar(con, TerminalDados.Porta, Convert.ToUInt32(string.IsNullOrEmpty(TerminalDados.SupervisorCodigo) ? "0" : TerminalDados.SupervisorCodigo)));
        }
示例#19
0
        public void Template_ExtractJoin()
        {
            RepCid rep = Config.ConectarREP(); // Cria a conexão padrão (veja config.cs)

            byte[][] btResult = new byte[3][];
            for (int i = 1; i <= 3; i++)
            {
                Bitmap digital   = new Bitmap(@"..\..\dedo" + i + ".bmp");
                byte[] btRequest = RepCid.GetBytes(digital); // transforme o bitmap em bytes no padrão necessário para ser enviado ao equipamento

                if (!rep.ExtractTemplate(btRequest, digital.Width, digital.Height, out btResult[i - 1]))
                {
                    Console.WriteLine(rep.LastLog());
                    Assert.Fail("Erro ao extrair Template " + i);
                }
                Console.WriteLine("LastQuality: " + RestJSON.LastQuality); // somente se for iDClass
                Console.WriteLine("Template: " + Convert.ToBase64String(btResult[i - 1]));
            }
            byte[] btJoin;
            rep.JoinTemplates(btResult[0], btResult[1], btResult[2], out btJoin);
            Console.WriteLine("Template: " + Convert.ToBase64String(btJoin));
            //Console.WriteLine(string.Format("Código: {0}\nErro: {1}\nQualidade: {2}\nTemplate: {3}", tr.code, tr.error, tr.Qualidate, tr.Template));
        }
示例#20
0
 public void Conectar()
 {
     rep = Config.ConectarREP();
 }
示例#21
0
		private void frmConfig_Load(object sender, EventArgs e)
		{
			_rep = ((frmMain)this.Owner).REP;
			load.RunWorkerAsync(_rep);
		}
示例#22
0
 public void Conectar()
 {
     rep = Config.ConectarREP();
 }
示例#23
0
        // Tenta efetuar a conexão e define a váriável '_rep' que será encapsulada
        private bool Connect(bool lShowOK)
        {
            if (_rep != null)
                _rep.Desconectar();

            _rep = new RepCid();

            string ip = txtIP.Text;
            if (_rep.Conectar(ip, (int)nudPort.Value, (uint)nudPassCode.Value) == RepCid.ErrosRep.OK)
            {
                if (!lShowOK)
                    // Se não for para exibir os dialogos de confirmação de conexão já retorna a instancia da conexão
                    return true;
                string sn;
                uint tam_bobina;
                uint restante_bobina;
                uint uptime;
                uint cortes;
                uint papel_acumulado;
                uint nsr_atual;
                if (_rep.LerInfo(out sn, out tam_bobina, out restante_bobina, out uptime, out cortes, out papel_acumulado, out nsr_atual))
                {
                    if (sn == null) sn = "?";
                }
                else
                    sn = "(falhou)";

                if (txtIP.Text != TesteRepCid.Properties.Settings.Default.IP ||
                    nudPort.Value != TesteRepCid.Properties.Settings.Default.Porta)
                {
                    if (MessageBox.Show("Conexão Aceita\r\n" +
                        "SN: " + sn + "\r\n" +
                        "NSR: " + nsr_atual.ToString() + "\r\n" +
                        "Papel restante: " + (restante_bobina / 10.0f).ToString("0.0") + " m\r\n" +
                        "\r\nDeseja gravar esta conexão", "REP", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                    {
                        Settings.Default.IP = txtIP.Text;
                        Settings.Default.Porta = (int)nudPort.Value;
                        Settings.Default.PassCode = (uint)nudPassCode.Value;
                        Settings.Default.Save();
                    }
                }
                else
                    MessageBox.Show("Sucesso na conexão com o REP!\r\n\r\n" +
                        "SN: " + sn + "\r\n" +
                        "NSR: " + nsr_atual.ToString() + "\r\n" +
                        "Papel restante: " + (restante_bobina / 10.0f).ToString("0.0") + " m",
                        "REP", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
            else
            {
                MessageBox.Show("Conexão com o REP não está funcionando", "REP", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return false;
            }
            return true;
        }
示例#24
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            string cErro = "";

            try
            {
                _rep = ((frmMain)this.Owner).REP;
                if (_rep != null)
                {
                    Button btn = (Button)sender;

                    if (btn.Name == btnHorario.Name)
                    {
                        // Data e Horario de Verão
                        if (!_rep.GravarDataHora(DateTime.Parse(txtData.Text).Add(TimeSpan.Parse(txtHora.Text))))
                        {
                            cErro += "\r\nErro ao atualizar a Data e Hora";
                        }

                        int iano = 0, imes = 0, idia = 0;
                        int fano = 0, fmes = 0, fdia = 0;

                        if (chkVeraoIni.Checked)
                        {
                            iano = dtpVeraoInicio.Value.Year;
                            imes = dtpVeraoInicio.Value.Month;
                            idia = dtpVeraoInicio.Value.Day;
                        }
                        if (chkVeraoFim.Checked)
                        {
                            fano = dtpVeraoFim.Value.Year;
                            fmes = dtpVeraoFim.Value.Month;
                            fdia = dtpVeraoFim.Value.Day;
                        }

                        if (hVeraoIAno != iano ||
                            hVeraoIMes != imes ||
                            hVeraoIDia != idia ||
                            hVeraoFAno != fano ||
                            hVeraoFMes != fmes ||
                            hVeraoFDia != fdia)
                        {
                            bool gravou;
                            if (!_rep.GravarConfigHVerao(iano, imes, idia,
                                                         fano, fmes, fdia, out gravou) || !gravou)
                            {
                                cErro += "\r\nErro ao registrar o Horário de Verão";
                            }
                        }
                    }
                    else if (btn.Name == btnEmpresa.Name)
                    {
                        // Empregador (documento é só os digitos)
                        //  CPF: 19221149870    => 11 digitos
                        // CNPJ: 05343346000106 => 14 digitos
                        // ------12345678901234

                        // CIDFS.h (portaria)
                        int nTipo = 0;
                        if (txtCPFCNPJ.Text.Length == 14)
                        {
                            nTipo = 1;                             // CNPJ
                        }
                        else if (txtCPFCNPJ.Text.Length == 11)
                        {
                            nTipo = 2;                             // CPF
                        }
                        else
                        {
                            cErro += "\r\nNumero de documento invalido (não é CPF e nem CNPJ)";
                        }

                        bool gravou;
                        if (nTipo > 0 && !(_rep.GravarEmpregador(txtCPFCNPJ.Text, nTipo, txtCEI.Text, txtRazaoSocial.Text, txtEndereco.Text, out gravou) && gravou))
                        {
                            cErro += "\r\nErro ao atualizar os dados de Empregador";
                        }
                    }

                    else if (btn.Name == btnRede.Name)
                    {
                        // Ethernet
                        bool gravou;
                        if (!_rep.GravarConfigRede(txtIP.Text, txtMascara.Text, txtGateway.Text, Convert.ToUInt16(nudPort.Value), out gravou) || !gravou)
                        {
                            cErro += "\r\nErro ao atualizar as configurações de Rede";
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                cErro += "\r\n" + "ERRO:" + ex.Message;
            }
            _rep.Desconectar();

            if (cErro != "")
            {
                MessageBox.Show("Hove erros ao registrar as configurações:" + cErro, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            else
            {
                MessageBox.Show("REP ATUALIZADO", "Configurações", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
示例#25
0
 private void frmConfig_Load(object sender, EventArgs e)
 {
     _rep = ((frmMain)this.Owner).REP;
     load.RunWorkerAsync(_rep);
 }
示例#26
0
        private void btnSave_Click(object sender, EventArgs e)
        {
            DataRow row;
            int     nTotal = 0;

            for (int i = 0; i < tbUsuarios.Rows.Count; i++)
            {
                row = tbUsuarios.Rows[i];
                if (row.RowState == DataRowState.Deleted || row.RowState == DataRowState.Modified || row.RowState == DataRowState.Added)
                {
                    nTotal++;
                }
            }
            if (nTotal == 0)
            {
                return;
            }

            frmMain m = (frmMain)this.Owner;

            stProgress.Value   = 0;
            stProgress.Maximum = nTotal;
            stProgress.Visible = true;

            nTotal = 0;
            bool   lOK;
            RepCid _rep = m.REP;

            string cPIS;
            string cNome;
            int    nCodigo;
            string cSenha;
            string cBarras;
            int    nRFID;
            int    priv;

            for (int i = 0; i < tbUsuarios.Rows.Count; i++)
            {
                row = tbUsuarios.Rows[i];
                if (row.RowState == DataRowState.Modified || row.RowState == DataRowState.Added)
                {
                    stInfo.Text      = "Gravando PIS: " + row["PIS"].ToString();
                    stProgress.Value = ++nTotal;

                    cPIS  = row["PIS"].ToString();
                    cNome = (string)row["Nome"];

                    if (cPIS == "" || cNome == "")
                    {
                        row.Delete();
                        i--;
                        continue;
                    }

                    if (row["Codigo"] != DBNull.Value)
                    {
                        nCodigo = Convert.ToInt32(row["Codigo"]);
                    }
                    else
                    {
                        nCodigo = 0;
                    }

                    if (row["Senha"] != DBNull.Value)
                    {
                        cSenha = row["Senha"].ToString();
                    }
                    else
                    {
                        cSenha = "";
                    }

                    if (row["Barras"] != DBNull.Value)
                    {
                        cBarras = row["Barras"].ToString();
                    }
                    else
                    {
                        cBarras = "";
                    }

                    if (row["rfID"] != DBNull.Value)
                    {
                        nRFID = Convert.ToInt32(row["rfID"]);
                    }
                    else
                    {
                        nRFID = 0;
                    }

                    if (row["PRIV"] != DBNull.Value)
                    {
                        priv = Convert.ToByte(row["PRIV"]);
                    }
                    else
                    {
                        priv = 0;
                    }

                    _rep.GravarUsuario(Convert.ToInt64(cPIS), cNome, nCodigo, cSenha, cBarras, nRFID, priv, out lOK);
                    string log;
                    if (!_rep.GetLastLog(out log))
                    {
                        log = "";
                    }
                    stInfo.Text += " OK " + log;

                    row.AcceptChanges();
                    Application.DoEvents();
                }
                else if (row.RowState == DataRowState.Deleted)
                {
                    row.RejectChanges();
                    if (_rep.RemoverUsuario(Convert.ToInt64(row["PIS"]), out lOK))
                    {
                        stProgress.Value = ++nTotal;
                        string log;
                        if (!_rep.GetLastLog(out log))
                        {
                            log = "";
                        }
                        stInfo.Text += " REMOVIDO " + log;
                        row.Delete();
                        row.AcceptChanges();
                        i--;
                    }
                }
            }

            _rep.Desconectar();

            stInfo.Text = "Atualizado " + nTotal + " usuário" + (nTotal > 0 ? "s" : "");
            if (nTotal < stProgress.Maximum)
            {
                stInfo.Text += " Erros: " + (stProgress.Maximum - nTotal);
            }
            else
            {
                stProgress.Visible = false;
            }
        }
示例#27
0
		private void btnSave_Click(object sender, EventArgs e)
		{
			string cErro = "";
			try
			{
				_rep = ((frmMain)this.Owner).REP;
				if (_rep != null)
				{
					Button btn = (Button)sender;

					if (btn.Name == btnHorario.Name)
					{
						// Data e Horario de Verão
						if (!_rep.GravarDataHora(DateTime.Parse(txtData.Text).Add(TimeSpan.Parse(txtHora.Text))))
							cErro += "\r\nErro ao atualizar a Data e Hora";

						int iano = 0, imes = 0, idia = 0;
						int fano = 0, fmes = 0, fdia = 0;

						if (chkVeraoIni.Checked)
						{
							iano = dtpVeraoInicio.Value.Year;
							imes = dtpVeraoInicio.Value.Month;
							idia = dtpVeraoInicio.Value.Day;
						}
						if (chkVeraoFim.Checked)
						{
							fano = dtpVeraoFim.Value.Year;
							fmes = dtpVeraoFim.Value.Month;
							fdia = dtpVeraoFim.Value.Day;
						}

						if (hVeraoIAno != iano ||
							hVeraoIMes != imes ||
							hVeraoIDia != idia ||
							hVeraoFAno != fano ||
							hVeraoFMes != fmes ||
							hVeraoFDia != fdia)
						{
							bool gravou;
							if (!_rep.GravarConfigHVerao(iano, imes, idia,
								fano, fmes, fdia, out gravou) || !gravou)
								cErro += "\r\nErro ao registrar o Horário de Verão";
						}
					}
					else if (btn.Name == btnEmpresa.Name)
					{
						// Empregador (documento é só os digitos)
						//  CPF: 19221149870    => 11 digitos
						// CNPJ: 05343346000106 => 14 digitos
						// ------12345678901234

						// CIDFS.h (portaria)
						int nTipo = 0;
						if (txtCPFCNPJ.Text.Length == 14)
							nTipo = 1; // CNPJ
						else if (txtCPFCNPJ.Text.Length == 11)
							nTipo = 2; // CPF
						else
							cErro += "\r\nNumero de documento invalido (não é CPF e nem CNPJ)";

						bool gravou;
						if (nTipo > 0 && !(_rep.GravarEmpregador(txtCPFCNPJ.Text, nTipo, txtCEI.Text, txtRazaoSocial.Text, txtEndereco.Text, out gravou) && gravou))
							cErro += "\r\nErro ao atualizar os dados de Empregador";
					}

					else if (btn.Name == btnRede.Name)
					{
						// Ethernet
						bool gravou;
						if (!_rep.GravarConfigRede(txtIP.Text, txtMascara.Text, txtGateway.Text, Convert.ToUInt16(nudPort.Value), out gravou) || !gravou)
							cErro += "\r\nErro ao atualizar as configurações de Rede";
					}
				}
			}
			catch (Exception ex)
			{
				cErro += "\r\n" + "ERRO:" + ex.Message;
			}
			_rep.Desconectar();

			if (cErro != "")
				MessageBox.Show("Hove erros ao registrar as configurações:" + cErro, "ERRO", MessageBoxButtons.OK, MessageBoxIcon.Error);
			else
				MessageBox.Show("REP ATUALIZADO", "Configurações", MessageBoxButtons.OK, MessageBoxIcon.Information);
		}
示例#28
0
        // Tenta efetuar a conexão e define a váriável '_rep' que será encapsulada
        private bool Connect(bool lShowOK)
        {
            if (_rep != null)
            {
                _rep.Desconectar();
            }

            _rep = new RepCid();

            string ip = txtIP.Text;

            if (_rep.Conectar(ip, (int)nudPort.Value, (uint)nudPassCode.Value) == RepCid.ErrosRep.OK)
            {
                if (!lShowOK)
                {
                    // Se não for para exibir os dialogos de confirmação de conexão já retorna a instancia da conexão
                    return(true);
                }
                string sn;
                uint   tam_bobina;
                uint   restante_bobina;
                uint   uptime;
                uint   cortes;
                uint   papel_acumulado;
                uint   nsr_atual;
                if (_rep.LerInfo(out sn, out tam_bobina, out restante_bobina, out uptime, out cortes, out papel_acumulado, out nsr_atual))
                {
                    if (sn == null)
                    {
                        sn = "?";
                    }
                }
                else
                {
                    sn = "(falhou)";
                }

                if (txtIP.Text != TesteRepCid.Properties.Settings.Default.IP ||
                    nudPort.Value != TesteRepCid.Properties.Settings.Default.Porta)
                {
                    if (MessageBox.Show("Conexão Aceita\r\n" +
                                        "SN: " + sn + "\r\n" +
                                        "NSR: " + nsr_atual.ToString() + "\r\n" +
                                        "Papel restante: " + (restante_bobina / 10.0f).ToString("0.0") + " m\r\n" +
                                        "\r\nDeseja gravar esta conexão", "REP", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == System.Windows.Forms.DialogResult.Yes)
                    {
                        Settings.Default.IP       = txtIP.Text;
                        Settings.Default.Porta    = (int)nudPort.Value;
                        Settings.Default.PassCode = (uint)nudPassCode.Value;
                        Settings.Default.Save();
                    }
                }
                else
                {
                    MessageBox.Show("Sucesso na conexão com o REP!\r\n\r\n" +
                                    "SN: " + sn + "\r\n" +
                                    "NSR: " + nsr_atual.ToString() + "\r\n" +
                                    "Papel restante: " + (restante_bobina / 10.0f).ToString("0.0") + " m",
                                    "REP", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
            }
            else
            {
                MessageBox.Show("Conexão com o REP não está funcionando", "REP", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return(false);
            }
            return(true);
        }