예제 #1
0
        private void ConnectDevice()
        {
            if (bIsConnected)
            {
                return;
            }

            int idwErrorCode = 0;

            try
            {
                bIsConnected = axCZKEM1.Connect_Net(this._device.IP, this._device.Port);
                if (bIsConnected)
                {
                    //this.Device.DeviceStatus = DeviceStatus.Available;
                    iMachineNumber = 1;                       //In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
                    axCZKEM1.RegEvent(iMachineNumber, 65535); //Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
                    MyLogger.GetInstance.Info("ZKDevice.ConnectDevice() - The device is connected successull " + this.Device.IP);
                }
                else
                {
                    axCZKEM1.GetLastError(ref idwErrorCode);
                    MyLogger.GetInstance.Error(string.Format("ZKDevice.ConnectDevice() - Unable to connect the Device: {0}, ErrorCode: {1}", this.Device.IP, idwErrorCode.ToString()));
                }
            }
            catch (Exception e)
            {
                MyLogger.GetInstance.Error(e.Message);
            }
        }
예제 #2
0
파일: Form1.cs 프로젝트: virghy/SinapsisGEO
 void Conectar()
 {
     if (btnConnect.Text == "Desconectar")
     {
         axCZKEM1.Disconnect();
         axCZKEM1.OnAttTransactionEx -= axCZKEM1_OnAttTransactionEx;
         bIsConnected    = false;
         btnConnect.Text = "Conectar";
         lblState.Text   = "Estado Actual:Desconectado";
         Cursor          = Cursors.Default;
         return;
     }
     else
     {
         bIsConnected = axCZKEM1.Connect_Net(IP, Puerto);
         if (bIsConnected)
         {
             if (axCZKEM1.RegEvent(iMachineNumber, 65535))
             {
                 axCZKEM1.OnAttTransactionEx += axCZKEM1_OnAttTransactionEx;
             }
             btnConnect.Text = "Desconectar";
             lblState.Text   = "Estado Actual:Conectado";
         }
         else
         {
             axCZKEM1.GetLastError(idwErrorCode);
             lblState.Text = "No se pudo conectar, Error=" + idwErrorCode.ToString();
         }
     }
 }
예제 #3
0
        public bool ConnectMachine()
        {
            bool retVal;

            _AttManager = new zkemkeeper.CZKEM();
            retVal      = _AttManager.Connect_Net(IPAddress, Port);
            _AttManager.RegEvent(1, 65535);//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
            _AttManager.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(AttManager_OnAttTransactionEx);
            _Connected = retVal;
            return(retVal);
        }
예제 #4
0
        private void APITests_Load(object sender, EventArgs e)
        {
            //Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
            bool IsConnected = axCZKEM1.Connect_Net(this.txt_ipaddress.Text, 4370);

            if (axCZKEM1.RegEvent(1, 65535))
            {
                axCZKEM1.OnFinger                += new zkemkeeper._IZKEMEvents_OnFingerEventHandler(AxCZKEM1_OnFinger);
                this.axCZKEM1.OnVerify           += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(AxCZKEM1_OnVerify);
                this.axCZKEM1.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(AxCZKEM1_OnAttTransactionEx);
                this.axCZKEM1.OnEnrollFingerEx   += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(AxCZKEM1_OnEnrollFingerEx);
                this.axCZKEM1.OnNewUser          += new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(AxCZKEM1_OnNewUser);
            }
        }
예제 #5
0
        public void ExecuteEvent()
        {
            if (!_bIsConnected)
            {
                DisconnectToDevice();

                this.axCZKEM1.OnFinger           -= new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axCZKEM1_OnFinger);
                this.axCZKEM1.OnVerify           -= new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
                this.axCZKEM1.OnAttTransactionEx -=
                    new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
                this.axCZKEM1.OnFingerFeature -=
                    new zkemkeeper._IZKEMEvents_OnFingerFeatureEventHandler(axCZKEM1_OnFingerFeature);
                this.axCZKEM1.OnEnrollFingerEx -=
                    new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(axCZKEM1_OnEnrollFingerEx);
                this.axCZKEM1.OnDeleteTemplate -=
                    new zkemkeeper._IZKEMEvents_OnDeleteTemplateEventHandler(axCZKEM1_OnDeleteTemplate);
                this.axCZKEM1.OnNewUser -= new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);

                _bIsConnected = false;
                return;
            }

            if (_bIsConnected)
            {
                MachineNo = 1; //In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.

                //this.rtTimer.Enabled = true;
                if (axCZKEM1.RegEvent(MachineNo, 65535))
                //Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
                {
                    this.axCZKEM1.OnFinger           += new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axCZKEM1_OnFinger);
                    this.axCZKEM1.OnVerify           += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
                    this.axCZKEM1.OnAttTransactionEx +=
                        new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
                    this.axCZKEM1.OnFingerFeature +=
                        new zkemkeeper._IZKEMEvents_OnFingerFeatureEventHandler(axCZKEM1_OnFingerFeature);
                    this.axCZKEM1.OnEnrollFingerEx +=
                        new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(axCZKEM1_OnEnrollFingerEx);
                    this.axCZKEM1.OnDeleteTemplate +=
                        new zkemkeeper._IZKEMEvents_OnDeleteTemplateEventHandler(axCZKEM1_OnDeleteTemplate);
                    this.axCZKEM1.OnNewUser += new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);
                }
            }
        }
        private static int iMachineNumber = 1;     //the serial number of the device.After connecting the device ,this value will be changed.

        public static Response conectar(string ip, int puerto)
        {
            Response result = new Response();

            int idwErrorCode = 0;

            bIsConnected = axCZKEM1.Connect_Net(ip, Convert.ToInt32(puerto));
            if (bIsConnected == true)
            {
                iMachineNumber = 1;                       //In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
                axCZKEM1.RegEvent(iMachineNumber, 65535); //Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)

                result.status    = Estatus.OK;
                result.resultado = "Conectado";
            }
            else
            {
                axCZKEM1.GetLastError(ref idwErrorCode);
                result.status = Estatus.ERROR;
                result.error  = "Unable to connect the device, ErrorCode=" + idwErrorCode.ToString();
            }

            return(result);
        }
예제 #7
0
        private void btnConnect_Click(object sender, EventArgs e)
        {
            //timer1.Enabled = true;
            //timer1.Start();

            string ip = "";

            //ip = comboBox1.<SelectedValue.ToString();
            ip = textBox1.Text;


            int idwErrorCode = 0;

            Cursor = Cursors.WaitCursor;
            if (btnConnect.Text == "DisConnect")
            {
                axCZKEM1.Disconnect();
                bIsConnected    = false;
                btnConnect.Text = "Connect";
                lblState.Text   = "Current State:DisConnected";
                Cursor          = Cursors.Default;
                return;
            }

            bIsConnected = axCZKEM1.Connect_Net(ip, Convert.ToInt32(puerto));
            if (bIsConnected == true)
            {
                btnConnect.Text = "DisConnect";
                btnConnect.Refresh();
                lblState.Text = "Current State:Connected";


                iMachineNumber = 1;                           //In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
                if (axCZKEM1.RegEvent(iMachineNumber, 65535)) //Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
                {
                    this.axCZKEM1.OnFinger           += new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axCZKEM1_OnFinger);
                    this.axCZKEM1.OnVerify           += new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
                    this.axCZKEM1.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
                    this.axCZKEM1.OnFingerFeature    += new zkemkeeper._IZKEMEvents_OnFingerFeatureEventHandler(axCZKEM1_OnFingerFeature);
                    this.axCZKEM1.OnEnrollFingerEx   += new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(axCZKEM1_OnEnrollFingerEx);
                    this.axCZKEM1.OnDeleteTemplate   += new zkemkeeper._IZKEMEvents_OnDeleteTemplateEventHandler(axCZKEM1_OnDeleteTemplate);
                    this.axCZKEM1.OnNewUser          += new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);
                    this.axCZKEM1.OnHIDNum           += new zkemkeeper._IZKEMEvents_OnHIDNumEventHandler(axCZKEM1_OnHIDNum);
                    this.axCZKEM1.OnAlarm            += new zkemkeeper._IZKEMEvents_OnAlarmEventHandler(axCZKEM1_OnAlarm);
                    this.axCZKEM1.OnDoor             += new zkemkeeper._IZKEMEvents_OnDoorEventHandler(axCZKEM1_OnDoor);
                    this.axCZKEM1.OnWriteCard        += new zkemkeeper._IZKEMEvents_OnWriteCardEventHandler(axCZKEM1_OnWriteCard);
                    this.axCZKEM1.OnEmptyCard        += new zkemkeeper._IZKEMEvents_OnEmptyCardEventHandler(axCZKEM1_OnEmptyCard);
                }
            }
            else
            {
                axCZKEM1.GetLastError(ref idwErrorCode);
                MessageBox.Show("Unable to connect the device,ErrorCode=" + idwErrorCode.ToString(), "Error");
                this.axCZKEM1.OnFinger           -= new zkemkeeper._IZKEMEvents_OnFingerEventHandler(axCZKEM1_OnFinger);
                this.axCZKEM1.OnVerify           -= new zkemkeeper._IZKEMEvents_OnVerifyEventHandler(axCZKEM1_OnVerify);
                this.axCZKEM1.OnAttTransactionEx -= new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(axCZKEM1_OnAttTransactionEx);
                this.axCZKEM1.OnFingerFeature    -= new zkemkeeper._IZKEMEvents_OnFingerFeatureEventHandler(axCZKEM1_OnFingerFeature);
                this.axCZKEM1.OnEnrollFingerEx   -= new zkemkeeper._IZKEMEvents_OnEnrollFingerExEventHandler(axCZKEM1_OnEnrollFingerEx);
                this.axCZKEM1.OnDeleteTemplate   -= new zkemkeeper._IZKEMEvents_OnDeleteTemplateEventHandler(axCZKEM1_OnDeleteTemplate);
                this.axCZKEM1.OnNewUser          -= new zkemkeeper._IZKEMEvents_OnNewUserEventHandler(axCZKEM1_OnNewUser);
                this.axCZKEM1.OnHIDNum           -= new zkemkeeper._IZKEMEvents_OnHIDNumEventHandler(axCZKEM1_OnHIDNum);
                this.axCZKEM1.OnAlarm            -= new zkemkeeper._IZKEMEvents_OnAlarmEventHandler(axCZKEM1_OnAlarm);
                this.axCZKEM1.OnDoor             -= new zkemkeeper._IZKEMEvents_OnDoorEventHandler(axCZKEM1_OnDoor);
                this.axCZKEM1.OnWriteCard        -= new zkemkeeper._IZKEMEvents_OnWriteCardEventHandler(axCZKEM1_OnWriteCard);
                this.axCZKEM1.OnEmptyCard        -= new zkemkeeper._IZKEMEvents_OnEmptyCardEventHandler(axCZKEM1_OnEmptyCard);
            }
            Cursor = Cursors.Default;
        }
예제 #8
0
 public bool ConnectMachine()
 {
     bool retVal;
     _AttManager = new zkemkeeper.CZKEM();
     retVal = _AttManager.Connect_Net(IPAddress, Port);
     _AttManager.RegEvent(1, 65535);//Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
     _AttManager.OnAttTransactionEx += new zkemkeeper._IZKEMEvents_OnAttTransactionExEventHandler(AttManager_OnAttTransactionEx);
     _Connected = retVal;
     return retVal;
 }
예제 #9
0
        // conexion y checadas BlackWhite
        private Modelos.Response checadasBW(string ip, int puerto, DateTime ultFecha)
        {
            Modelos.Response result = new Modelos.Response();

            try
            {
                // conexion por ip y puerto al checador
                int idwErrorCode = 0;

                // estableciendo conexion con el checador
                this.agregarDetalle("Estableciendo conexión con el checador");

                this._bIsConnected = axCZKEM1.Connect_Net(ip, puerto);
                if (this._bIsConnected)
                {
                    this.agregarDetalle("Conexión Exitosa!!!");

                    iMachineNumber = 1;                       //In fact,when you are using the tcp/ip communication,this parameter will be ignored,that is any integer will all right.Here we use 1.
                    axCZKEM1.RegEvent(iMachineNumber, 65535); //Here you can register the realtime events that you want to be triggered(the parameters 65535 means registering all)
                }
                else
                {
                    axCZKEM1.GetLastError(ref idwErrorCode);
                    throw new Exception("No se puede conectar, ErrorCode=" + idwErrorCode.ToString());
                }

                // inicializa clase de conexion a la base de datos
                this._consultasNegocio = new ConsultasNegocio();

                // obtiene checadas
                this.agregarDetalle("Obteniendo los registros del checador");
                List <Modelos.AttLogs> resultado = this.obtieneChecadas();
                List <Modelos.AttLogs> traspaso  = resultado.FindAll(fl => fl.fecha >= ultFecha);

                foreach (Modelos.AttLogs res in traspaso)
                {
                    try
                    {
                        res.noChecador = Modelos.ConectionString.numCh;

                        // ingresa un usuario como pendiente en caso de no tenerlo registrado
                        this._consultasNegocio.insertaNuevo(res.enrolIdNumber);

                        this._consultasNegocio.insertaRegistro(res);

                        // imprime mensajes en pantalla
                        this.agregarDetalle("Registro Agregado: IdInterno: " + res.enrolIdNumber + "\tFecha: " + res.fecha.ToString("yyyy-MM-dd HH:mm"));
                    }
                    catch (Exception EX)
                    {
                        if (EX.Message.ToLower().Contains("duplicate entry"))
                        {
                            this.agregarDetalle(string.Format("El registro con IdInteno: {0} y FechaHora: {1} ya existe.", res.enrolIdNumber, res.fecha.ToString("yyyy-MM-dd HH:mm")));
                            Application.DoEvents();
                            continue;
                        }

                        throw new Exception(EX.Message);
                    }
                }

                // desconectar checador
                this.agregarDetalle("Cerrando conexión con el checador");
                axCZKEM1.Disconnect();
                this._bIsConnected = false;

                result.status = Modelos.Estatus.OK;
            }
            catch (Exception Ex)
            {
                Cursor        = Cursors.Default;
                result.error  = Ex.Message;
                result.status = Modelos.Estatus.ERROR;
            }

            return(result);
        }