Exemplo n.º 1
0
        private List <SyncInfo> FetchMachineData2(String IPAddress, bool GetAll)
        {
            int  MachineNo   = 1;
            bool IsConnected = axCZKEM1.Connect_Net(IPAddress, 4370);

            if (!IsConnected)
            {
                return(null);
            }
            List <SyncInfo> l = new List <SyncInfo>();
            SyncInfo        s = new SyncInfo();

            axCZKEM1.ReadAllUserID(MachineNo);                                                                                               //read all the user information to the memory
            axCZKEM1.ReadAllTemplate(MachineNo);                                                                                             //read all the users' fingerprint templates to the memory
            while (axCZKEM1.SSR_GetAllUserInfo(MachineNo, out s.EnrollNumber, out s.Name, out s.Password, out s.Privilege, out s.IsEnabled)) //get all the users' information from the memory
            {
                if (GetAll)
                {
                    axCZKEM1.GetUserTmpExStr(MachineNo, s.EnrollNumber, 0, out s.Flag, out s.TmpData, out s.TmpLength);//get the corresponding templates string and length from the memory
                }
                l.Add(s);
            }

            s.MachineNo   = MachineNo;
            s.FingerIndex = 0; // Default finger index
            return(l);
        }
Exemplo n.º 2
0
        /// <summary>
        /// 更新设备中的用户
        /// </summary>
        /// <param name="device_ip"></param>
        /// <param name="device_port"></param>
        /// <returns></returns>
        public ResultSet GetAllUser(string device_ip, int device_port)
        {
            try
            {
                if (Connect(device_ip))
                {
                    log.Info(string.Format("Function : GetAllUser Start,{0}:{1}", device_ip, device_port));
                    Common.db.BeginTransaction();

                    int       deleteEffectRow = 0;
                    Hashtable param           = new Hashtable()
                    {
                        { "device_ip", device_ip },
                        { "device_port", device_port }
                    };
                    deleteEffectRow = Common.DelDevice(device_ip);

                    int insertEffectRow = 0;
                    //read all the user information to the memory
                    log.Info(string.Format("ZKSoftware API :  axCZKEM1.ReadAllUserID"));
                    axCZKEM1.ReadAllUserID(iMachineNumber);


                    if (getDeviceType(device_ip) == "accesscontrol")
                    {
                        int dwEnrollNumber = 0;

                        log.Info(string.Format("ZKSoftware API :  axCZKEM1.GetAllUserInfo[accesscontrol]"));
                        while (axCZKEM1.GetAllUserInfo(iMachineNumber
                                                       , ref dwEnrollNumber
                                                       , ref sName
                                                       , ref sPassword
                                                       , ref iPrivilege
                                                       , ref bEnabled)) //get user information from memory
                        {
                            log.Info("ref_empno:" + dwEnrollNumber);

                            var empno = Common.GetUserByRefno(dwEnrollNumber.ToString());

                            if (empno == null)
                            {
                                log.Info(string.Format("ZKSoftware API :  axCZKEM1.GetStrCardNumber"));
                                //get the card number from the memory
                                if (axCZKEM1.GetStrCardNumber(out sCardnumber))
                                {
                                    object empno1 = Common.GetUserByTagid(sCardnumber);

                                    if (empno1 != null)
                                    {
                                        sdwEnrollNumber = empno1.ToString();
                                    }
                                    else
                                    {
                                        sdwEnrollNumber = "NA_" + sCardnumber;
                                    }
                                    log.Info(string.Format("{0},{1},{2}", sdwEnrollNumber, sCardnumber, iPrivilege));
                                    try
                                    {
                                        DeviceTagRegData tagdata = new DeviceTagRegData();
                                        tagdata.device_ip   = device_ip;
                                        tagdata.device_port = 1;
                                        tagdata.empno       = sdwEnrollNumber;
                                        tagdata.tagid       = sCardnumber;
                                        tagdata.reg_date    = DateTime.Now;
                                        Common.InsertTagReg(tagdata);
                                        log.Info(string.Format("{0},{1},{2},{3},{4}", device_ip, device_port, DateTime.Now, sdwEnrollNumber, sCardnumber));
                                        insertEffectRow++;
                                    }
                                    catch (Exception ex)
                                    {
                                        log.Error(ex);
                                    }
                                }
                            }
                            else
                            {
                                try
                                {
                                    DeviceTagRegData tagdata = new DeviceTagRegData();
                                    tagdata.device_ip   = device_ip;
                                    tagdata.device_port = 1;
                                    tagdata.empno       = empno.ToString();
                                    tagdata.tagid       = "";
                                    tagdata.reg_date    = DateTime.Now;
                                    Common.InsertTagReg(tagdata);
                                    log.Info(string.Format("{0},{1},{2},{3},{4}", device_ip, device_port, DateTime.Now, sdwEnrollNumber, ""));
                                    insertEffectRow++;
                                }
                                catch (Exception ex)
                                {
                                    log.Error(ex);
                                }
                            }
                        }
                    }
                    else
                    {
                        string sEnrollNumber;

                        log.Info(string.Format("ZKSoftware API :  axCZKEM1.SSR_GetAllUserInfo"));
                        while (axCZKEM1.SSR_GetAllUserInfo(
                                   iMachineNumber,
                                   out sEnrollNumber,
                                   out sName,
                                   out sPassword,
                                   out iPrivilege,
                                   out bEnabled))          //get user information from memory
                        {
                            log.Info(string.Format("ZKSoftware API :  axCZKEM1.GetStrCardNumber"));
                            log.Info(string.Format("{0},{1},{2}", sEnrollNumber, sName, iPrivilege));

                            var empno = Common.GetUserByRefno(sEnrollNumber.ToString());

                            if (empno == null)
                            {
                                if (axCZKEM1.GetStrCardNumber(out sCardnumber))    //get the card number from the memory
                                {
                                    object empno1 = Common.GetUserByTagid(sCardnumber);

                                    if (empno1 != null)
                                    {
                                        sdwEnrollNumber = empno1.ToString();
                                    }
                                    else
                                    {
                                        sdwEnrollNumber = "NA_" + sCardnumber;
                                    }

                                    try
                                    {
                                        DeviceTagRegData tagdata = new DeviceTagRegData();
                                        tagdata.device_ip   = device_ip;
                                        tagdata.device_port = device_port;
                                        tagdata.empno       = sdwEnrollNumber;
                                        tagdata.tagid       = sCardnumber;
                                        tagdata.reg_date    = DateTime.Now;
                                        Common.InsertTagReg(tagdata);

                                        insertEffectRow++;
                                    }
                                    catch (Exception ex)
                                    {
                                        log.Error(ex);
                                    }
                                }
                            }
                            else
                            {
                                try
                                {
                                    DeviceTagRegData tagdata = new DeviceTagRegData();
                                    tagdata.device_ip   = device_ip;
                                    tagdata.device_port = 1;
                                    tagdata.empno       = empno.ToString();
                                    tagdata.tagid       = "";
                                    tagdata.reg_date    = DateTime.Now;
                                    Common.InsertTagReg(tagdata);
                                    log.Info(string.Format("{0},{1},{2},{3},{4}", device_ip, device_port, DateTime.Now, sdwEnrollNumber, ""));
                                    insertEffectRow++;
                                }
                                catch (Exception ex)
                                {
                                    log.Error(ex);
                                }
                            }
                        }
                    }
                    Common.db.Commit();

                    _resultset = new ResultSet
                    {
                        SeccessFlag = true,
                        Result      = string.Format("Insert : {0} delete : {1}", insertEffectRow, deleteEffectRow)
                    };
                }
                else
                {
                    _resultset = new ResultSet
                    {
                        SeccessFlag = false,
                        Result      = device_ip,
                        Description = string.Format("can not connect to the device. please check it.")
                    };
                }
            }
            catch (Exception ex)
            {
                Common.db.Rollback();
                log.Fatal(ex);
                _resultset = new ResultSet
                {
                    SeccessFlag = false,
                    Result      = ErrorCode.ToString(),
                    Description = string.Format("Try Catched Error {0}", ex.Message)
                };
            }
            finally
            {
                Close();
                log.Info(string.Format("Function : GetAllUser finish ,{0}", _resultset.Result));
            }

            return(_resultset);
        }