Exemple #1
0
        private void readCert(object o, EventArgs args)
        {
            try
            {
                ReadIDCardService ReadIDCardService = new ReadIDCardService();

                IDCard Idcard = ReadIDCardService.ReadIDCard();
                if (Idcard != null && Idcard.CardNo.Length > 10)
                {
                    this.lab_name.Text             = Idcard.Name;
                    this.lab_sex.Text              = Idcard.Sex;
                    this.lab_mz.Text               = Idcard.Nationality;
                    this.lab_year.Text             = Idcard.Birthday;
                    this.lab_address.Text          = Idcard.Address;
                    this.lab_Idcard.Text           = Idcard.CardNo;
                    this.lab_Institution.Text      = Idcard.Institution;
                    this.lab_startTime.Text        = Idcard.Begin_validity;
                    this.lab_endTime.Text          = Idcard.End_validity;
                    this.pictureBox1.ImageLocation = Idcard.PhotoDirectory;
                    //获取卡信息
                    //GetInformation();
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex);
            }
        }
Exemple #2
0
        public IDCard ReadIDCard()
        {
            LogHelper.WriteLog("开始读取");
            int state;

            string imgpath = System.IO.Directory.GetCurrentDirectory() + @"\" + DateTime.Now.ToString().Trim();

            StringBuilder pBmpData    = new StringBuilder().Append(imgpath);
            StringBuilder pName       = new StringBuilder(); //
            StringBuilder pSex        = new StringBuilder(); //
            StringBuilder pNation     = new StringBuilder(); //
            StringBuilder pBirth      = new StringBuilder(); //
            StringBuilder pAddress    = new StringBuilder(); //
            StringBuilder pCertNo     = new StringBuilder(); //
            StringBuilder pDepartment = new StringBuilder(); //
            StringBuilder pEffectData = new StringBuilder(); //
            StringBuilder pExpire     = new StringBuilder(); //

            //卡认证
            int intReadRet = HD_Authenticate();

            LogHelper.WriteLog("卡认证:" + LogHelper.GetStateLog(intReadRet));
            //if (intReadRet != 0)
            //{
            //    state = ReadIDCardService.HD_CloseComm(new IntPtr(0));
            //    LogHelper.WriteLog("关闭:" + LogHelper.GetStateLog(state));
            //    return null;


            //读身份证信息
            int intReadBaseInfosRet = ReadIDCardService.HD_Read_BaseMsg(pBmpData, pName, pSex, pNation, pBirth, pAddress, pCertNo, pDepartment, pEffectData, pExpire);

            LogHelper.WriteLog("读取身份证信息:" + LogHelper.GetStateLog(intReadBaseInfosRet));

            //if (intReadBaseInfosRet != -3)
            //{
            state = ReadIDCardService.HD_CloseComm(new IntPtr(0));
            LogHelper.WriteLog("关闭:" + LogHelper.GetStateLog(state));
            //    return null;
            //}

            IDCard CardData = new IDCard();

            CardData.CardNo         = pCertNo.ToString().Trim();
            CardData.Name           = pName.ToString().Trim();
            CardData.Sex            = pSex.ToString().Trim();
            CardData.Nationality    = pNation.ToString().Trim();
            CardData.Birthday       = pBirth.ToString().Trim();
            CardData.Address        = pAddress.ToString().Trim();
            CardData.Institution    = pDepartment.ToString().Trim();
            CardData.Begin_validity = pEffectData.ToString().Trim();
            CardData.End_validity   = pExpire.ToString().Trim();
            CardData.PhotoDirectory = pBmpData.ToString().Trim();
            LogHelper.WriteLog("Name:" + CardData.Name + "、" + "Sex:" + CardData.Sex + "、" + "Nationality:" + CardData.Nationality + "、" + "Birthday:" + CardData.Birthday + "、" + "Address:" + CardData.Address + "、" + "CardNo:" + CardData.CardNo + "、" + "Begin_validity:" + CardData.Begin_validity + "、" + "End_validity:" + CardData.End_validity + "、" + "Institution:" + CardData.Institution + "、" + "PhotoDirectory:" + CardData.PhotoDirectory);

            return(CardData);
        }
Exemple #3
0
        private void VerifyPort()
        {
            try
            {
                //验证端口设置是否符合要求
                port = int.Parse(ConfigurationManager.AppSettings["port"].ToString());
                int[] arr = new int[32] {
                    1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1014, 1015, 1016
                };

                foreach (var item in arr)
                {
                    if (port == item)
                    {
                        b = true;
                        break;
                    }
                }

                if (b == false)
                {
                    LogHelper.WriteLog("端口设置错误!");
                    return;
                }

                //链接阅读器--初始化
                int intOpenRet = ReadIDCardService.HD_InitComm(port);
                LogHelper.WriteLog("初始化:" + LogHelper.GetStateLog(intOpenRet));
                if (intOpenRet != 0)
                {
                    LogHelper.WriteLog(intOpenRet + "初始化失败!");

                    //连接失败后启动重连 1s/次
                    if (timer1 == null)
                    {
                        timer1          = new Timer();
                        timer1.Interval = 1000;//TimeSpan.FromMilliseconds(1000);
                        timer1.Tick    += Reconnect;
                        timer1.Start();
                        return;
                    }
                }

                //连接成功读卡刷新信息
                if (b)
                {
                    if (timer1 != null)
                    {
                        //连接成功停止重连
                        timer1.Stop();
                        timer1 = null;
                    }

                    timer          = new Timer();
                    timer.Interval = 400;//TimeSpan.FromMilliseconds(1000);
                    timer.Tick    += readCert;
                    timer.Start();
                }
            }
            catch (Exception ex)
            {
                LogHelper.WriteLog(ex);
                return;
            }
        }