Ejemplo n.º 1
0
        public IActionResult SetIDCard(IdCardInfo info)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (string.IsNullOrEmpty(info.Openid) || string.IsNullOrEmpty(info.IdCard))
            {
                response.SetFailed("openid或身份证号为空");
                return(Ok(response));
            }
            var entity = _dbContext.SystemUser.FirstOrDefault(x => x.Wechat == info.Openid);

            if (entity != null)
            {
                entity.UserIdCard = info.IdCard;
                //entity.IdcardMd5 = HaikanTeachingProcess.YunSendMsg.GenerateMD5(info.IdCard);
                _dbContext.SaveChanges();
                response.SetSuccess("绑定成功");
                return(Ok(response));
            }
            else
            {
                response.SetFailed("绑定失败");
                return(Ok(response));
            }
        }
Ejemplo n.º 2
0
        public IdCardInfo ReadIdCardInfo()
        {
            _handle = ICC_Reader_Open(_comPort);
            ReadIdcInfo(_handle, out var idcardinfo);
            var idCradinfo = new IdCardInfo
            {
                Name       = idcardinfo.name.Trim(),
                Gender     = idcardinfo.sex.Trim().Equals("1") ? "男" : "女",
                Birth      = idcardinfo.birth.Trim(),
                Addr       = idcardinfo.addr.Trim(),
                Pid        = idcardinfo.pid.Trim(),
                Issue      = idcardinfo.issue.Trim(),
                ValidStart = idcardinfo.valid_start.Trim(),
                ValidEnd   = idcardinfo.valid_end.Trim()
            };
            var i = ParseToInt(idcardinfo.nation, -1);

            if (i > 0)
            {
                idCradinfo.Nation = NationalHelp.ParseNational(i);
            }
            ICC_Reader_Close(_handle);
            _handle = 0;
            return(idCradinfo);
        }
Ejemplo n.º 3
0
        private static IdCardInfo FillData()
        {
            try
            {
                var buffer  = new byte[38862];
                var strLen1 = 38862;
                GetBMPData(ref buffer[0], ref strLen1);
                var bytes1  = new byte[30];
                var strLen2 = 30;
                GetPeopleName(ref bytes1[0], ref strLen2);
                var bytes2  = new byte[36];
                var strLen3 = 36;
                GetPeopleIDCode(ref bytes2[0], ref strLen3);
                var bytes3  = new byte[30];
                var strLen4 = 3;
                GetPeopleNation(ref bytes3[0], ref strLen4);
                var bytes4  = new byte[30];
                var strLen5 = 16;
                GetStartDate(ref bytes4[0], ref strLen5);
                var bytes5  = new byte[30];
                var strLen6 = 16;
                GetPeopleBirthday(ref bytes5[0], ref strLen6);
                var bytes6  = new byte[70];
                var strLen7 = 70;
                GetPeopleAddress(ref bytes6[0], ref strLen7);
                var bytes7  = new byte[30];
                var strLen8 = 16;
                GetEndDate(ref bytes7[0], ref strLen8);
                var bytes8  = new byte[70];
                var strLen9 = 70;
                GetDepartment(ref bytes8[0], ref strLen9);
                var bytes9   = new byte[30];
                var strLen10 = 3;
                GetPeopleSex(ref bytes9[0], ref strLen10);
                var bytes10 = new byte[70];
                CVR_GetSAMID(ref bytes10[0]);

                var result = new IdCardInfo
                {
                    Addr       = GetReaderString(bytes6),
                    Gender     = GetReaderString(bytes9),
                    Birth      = GetReaderString(bytes5),
                    Issue      = GetReaderString(bytes8),
                    Pid        = GetReaderString(bytes2),
                    Name       = GetReaderString(bytes1),
                    Nation     = GetReaderString(bytes3),
                    ValidStart = GetReaderString(bytes4),
                    ValidEnd   = GetReaderString(bytes7)
                };
                return(result);
            }
            catch (Exception ex)
            {
                System.Diagnostics.Debug.WriteLine(ex.Message);
                return(null);
            }
        }
Ejemplo n.º 4
0
        public IActionResult SetIDCard(IdCardInfo info)
        {
            var response = ResponseModelFactory.CreateInstance;

            if (string.IsNullOrEmpty(info.Openid) || string.IsNullOrEmpty(info.IdCard))
            {
                response.SetFailed("openid或身份证号为空");
                return(Ok(response));
            }
            var query = _dbContext.SystemUser.FirstOrDefault(x => x.UserIdCard == info.IdCard);

            if (query != null)
            {
                response.SetFailed("该身份证以申领");
                return(Ok(response));
            }
            var entity = _dbContext.SystemUser.FirstOrDefault(x => x.Wechat == info.Openid);

            if (entity != null)
            {
                entity.UserIdCard = info.IdCard;
                entity.IdcardMd5  = HaikanRefuseClassification.YunSendMsg.GenerateMD5(info.IdCard);
                entity.Phone      = info.Phone;
                entity.Sex        = info.Sex;
                entity.OldCard    = info.OldCard;
                entity.RealName   = info.RealName;
                _dbContext.SaveChanges();
                response.SetSuccess("绑定成功");
                return(Ok(response));
            }
            else
            {
                response.SetFailed("绑定失败");
                return(Ok(response));
            }
        }
        private void Snapshot_Tick(object sender, EventArgs e)
        {
            try
            {
                idCardInfo = IdCardReaderHelper.ReadIdCard();
            }
            catch (Exception ex)
            {
                Logger.Error(ex.ToString());
                //  return;
                //暂不处理
            }
            if (idCardInfo == null)
            {
                snapshotTimer_count = snapshotTimer_count + 1;
            }
            else
            {
                IdentityhendersonVisitor.IdCardNo     = idCardInfo.Code;
                IdentityhendersonVisitor.Name         = idCardInfo.Name;
                IdentityhendersonVisitor.VisitorPhoto = idCardInfo.ImagePath;
                IdentityhendersonVisitor.Gender       = idCardInfo.Gender;
                IdentityhendersonVisitor.Nation       = idCardInfo.Nation;
                snapshotTimer.Stop();
                ////身份证头像获取成功,跳转页面
                OnConfirmInfo?.Invoke();
            }
            ////身份证头像获取成功,开始摄像头抓拍
            //helper.Snapshot();

            if (snapshotTimer_count > 60 / snapshotTimer_timespan)
            {
                snapshotTimer.Stop();
                OnGotoWelcomeClick?.Invoke();
            }
        }
Ejemplo n.º 6
0
 public void Encrypt(byte[] publicKey)
 {
     IdCardInfo.Encrypt(publicKey);
 }
Ejemplo n.º 7
0
 public void Encrypt(RSA rsa)
 {
     IdCardInfo.Encrypt(rsa);
 }