Exemple #1
0
        public static string GLogType(int opertationType)
        {
            StringBuilder sb = new StringBuilder();

            for (int i = 0; i < 4; i++)
            {
                if (0 != Zd2911Utils.BitCheck(opertationType, i))
                {
                    switch (i)
                    {
                    case 0:
                        sb.Append("F ");
                        break;

                    case 1:
                        sb.Append("P ");
                        break;

                    case 2:
                        sb.Append("C ");
                        break;

                    case 3:
                        sb.Append("I ");
                        break;
                    }
                }
            }
            return(sb.ToString());
        }
        private void EnrollDetailForm_Load(object sender, EventArgs e)
        {
            txt_UserId.Text = user.DIN.ToString();
            Enroll enroll = user.Enrolls[0];

            SetPrivilege();

            for (int i = 0; i < Zd2911Utils.MaxFingerprintCount; i++)
            {
                if (0 != Zd2911Utils.BitCheck((int)enroll.EnrollType, i))
                {
                    clb_Fp.SetItemChecked(i, true);
                }
            }

            if (0 != Zd2911Utils.BitCheck((int)enroll.EnrollType, 10))
            {
                clb_Fp.SetItemChecked(10, true);
            }

            if (0 != Zd2911Utils.BitCheck((int)enroll.EnrollType, 11))
            {
                clb_Fp.SetItemChecked(11, true);
            }
        }
        /// <summary>
        ///
        /// </summary>
        /// <param name="opertationType"></param>
        /// <returns></returns>
        public static List <CheckInOptions> GLogType(int opertationType)
        {
            var options = new List <CheckInOptions>();

            for (int i = 0; i < 4; i++)
            {
                if (0 != Zd2911Utils.BitCheck(opertationType, i))
                {
                    switch (i)
                    {
                    case 0:
                        options.Add(CheckInOptions.FingerPrint);
                        break;

                    case 1:
                        options.Add(CheckInOptions.Password);
                        break;

                    case 2:
                        options.Add(CheckInOptions.Card);
                        break;

                    case 3:
                        options.Add(CheckInOptions.Wiegand);
                        break;
                    }
                }
            }
            return(options);
        }
Exemple #4
0
        public static Contract.Model.UserInfo ToModel(User deviceUser)
        {
            var userInfo = new  Contract.Model.UserInfo()
            {
                UserId = (int)deviceUser.DIN
            };

            try
            {
                userInfo.UserName         = deviceUser.UserName;
                userInfo.Role             = (UserRole)deviceUser.Privilege;
                userInfo.Comment          = deviceUser.Comment;
                userInfo.UserStatus       = deviceUser.Enable;
                userInfo.DepartmentId     = deviceUser.Department;
                userInfo.AccessTimeZoneId = deviceUser.AccessTimeZone;


                var enroll   = deviceUser.Enrolls.First();
                var services = new List <CredentialService>();

                if (!string.IsNullOrWhiteSpace(enroll.Password))
                {
                    services.Add(new PasswordService()
                    {
                        Enabled = true, Password = ConvertObject.ToPrettyString(enroll.Password)
                    });
                }

                if (!string.IsNullOrWhiteSpace(enroll.CardID))
                {
                    services.Add(new CredentialCardService()
                    {
                        Enabled = true, CardNumber = enroll.CardID
                    });
                }

                int enrollType = (Int32)enroll.EnrollType;
                for (int index = 0; index < Zd2911Utils.MaxFingerprintCount; index++)
                {
                    if (Zd2911Utils.BitCheck(enrollType, index) != 0)
                    {
                        byte[] fpBytes = enroll.Fingerprint.Skip(index * Zd2911Utils.MaxFingerprintLength).Take(Zd2911Utils.MaxFingerprintLength).ToArray();
                        services.Add(new FingerPrintService()
                        {
                            Enabled = true, FingerPrintData = ConvertObject.ConvertByteToHex(fpBytes)
                        });
                    }
                }

                userInfo.CredentialServices = services;
                return(userInfo);
            }
            catch (Exception ex)
            {
                Log.Error(ex);
                throw;
            }
        }
Exemple #5
0
        public static void UpdateSystemInfo(ref User deviceUser, Contract.Model.UserInfo userInfo)
        {
            if (!string.IsNullOrWhiteSpace(userInfo.UserName))
            {
                deviceUser.UserName = userInfo.UserName;
            }

            if (userInfo.Role != null)
            {
                deviceUser.Privilege = (Int32)userInfo.Role;
            }

            if (!string.IsNullOrWhiteSpace(userInfo.Comment))
            {
                deviceUser.Comment = userInfo.Comment;
            }

            if (userInfo.UserStatus != null)
            {
                deviceUser.Enable = userInfo.UserStatus.Value;
            }

            if (userInfo.DepartmentId != null)
            {
                deviceUser.Department = userInfo.DepartmentId.Value;
            }

            if (userInfo.AccessTimeZoneId != null)
            {
                deviceUser.AccessTimeZone = userInfo.AccessTimeZoneId.Value;
            }

            if (userInfo.CredentialServices != null)
            {
                var enroll     = deviceUser.Enrolls.First();
                int enrollType = (int)enroll.EnrollType;

                foreach (var service in userInfo.CredentialServices)
                {
                    if (service is PasswordService)
                    {
                        var passwordService = service as PasswordService;
                        if (passwordService.Enabled)
                        {
                            if (Zd2911Utils.BitCheck(enrollType, (int)EnrollType.Password) == 0)
                            {
                                enrollType += Zd2911Utils.SetBit(0, (int)EnrollType.Password);
                            }

                            enroll.Password = passwordService.Password;
                        }
                    }
                    else if (service is CredentialCardService)
                    {
                        var credentialCardService = service as CredentialCardService;
                        if (credentialCardService.Enabled)
                        {
                            if (Zd2911Utils.BitCheck(enrollType, (int)EnrollType.Card) == 0)
                            {
                                enrollType += Zd2911Utils.SetBit(0, (int)EnrollType.Card); //password is 10, fp0-fp9, card is 11
                            }
                            enroll.CardID = credentialCardService.CardNumber;
                        }
                    }
                    else if (service is FingerPrintService)
                    {
                        var fpService = service as FingerPrintService;
                        if (fpService.Enabled)
                        {
                            if (Zd2911Utils.BitCheck(enrollType, fpService.Index) == 0)
                            {
                                enrollType += Zd2911Utils.SetBit(0, fpService.Index);
                            }

                            byte[] bytesFromText = ConvertObject.ConvertStringToBytes(fpService.FingerPrintData);
                            Array.Copy(bytesFromText, 0, enroll.Fingerprint, fpService.Index * Zd2911Utils.MaxFingerprintLength, bytesFromText.Length);
                        }
                    }
                }

                enroll.EnrollType = (EnrollType)enrollType;
            }
        }