private void LoadImageFromModel(Model.VisaInfo_Tmp model) { if (model == null) { picPassportNo.Image = Resources.PassportPictureNotFound; return; } if (!PassportPicHandler.CheckAndDownloadIfNotExist(model.PassportNo, PassportPicHandler.PicType.Type01Normal)) { picPassportNo.Image = Resources.PassportPictureNotFound; return; } picPassportNo.Image = GlobalUtils.LoadImageFromFileNoBlock(GlobalUtils.PassportPicPath + "\\" + model.PassportNo + ".jpg"); }
/// <summary> /// 自动识别线程函数 /// </summary> /// <param name="o"></param> private void AutoClassAndRecognize(object o) { while (_autoReadThreadRun) { Thread.Sleep(200); Model.VisaInfo_Tmp model = _idCard.AutoClassAndRecognize(this.txtPicPath.Text, checkRegSucShowDlg.Checked); if (model != null) { //读取成功了 if (!_bllVisaInfoTmp.Add(model)) { MessageBoxEx.Show(Resources.FailedAddToDatabase); return; } LoadDataToList(); _curIdx = 0; UpdateState(); } } }
/// <summary> /// 这里一定不能自己去new 一个model然后返回,会丢失掉原有的model里的其他信息! /// </summary> /// <param name="model"></param> /// <returns></returns> private bool CtrlsToModel(Model.VisaInfo_Tmp model) { try { model.Name = txtName.Text; model.EnglishName = txtEnglishName.Text; model.Sex = txtSex.Text; model.Birthday = DateTime.Parse(txtBirthday.Text); model.PassportNo = txtPassNo.Text; model.LicenceTime = DateTime.Parse(txtLicenseTime.Text); model.ExpiryDate = DateTime.Parse(txtExpireDate.Text); model.Birthplace = txtBirthPlace.Text; model.IssuePlace = txtIssuePlace.Text; return(true); } catch (Exception) { MessageBoxEx.Show(Resources.PleaseCheckDateTimeFormat); return(false); } }
/// <summary> /// 根据curIdx更新标签,待检查数量,_model,picbox,ctrls,dgv显示 /// </summary> public void UpdateState() { _recordCount = _list.Count; if (_curIdx == 0 || _recordCount == 0) { btnPre.Enabled = false; } else { btnPre.Enabled = true; } if (_curIdx == _recordCount - 1 || _recordCount == 0) { btnNext.Enabled = false; } else { btnNext.Enabled = true; } lbRecordCount.Text = "待校验信息:" + _recordCount + "条."; if (_list.Count > _curIdx) { _model = _list[_curIdx]; ModelToCtrls(_model); LoadImageFromModel(_model); } //设置保存图像按钮 if (_model == null) { btnSaveAll.Enabled = false; btnSaveHeadPic.Enabled = false; btnSaveIR.Enabled = false; btnSavePic.Enabled = false; } else { btnSaveAll.Enabled = true; btnSaveHeadPic.Enabled = true; btnSaveIR.Enabled = true; btnSavePic.Enabled = true; } //更新dgv显示 int curSelectedCol = -1; //保持列选中,有点问题还 if (dgvWait4Check.SelectedCells.Count > 0) { curSelectedCol = dgvWait4Check.SelectedCells[0].ColumnIndex; } dgvWait4Check.DataSource = null; if (_list != null && _list.Count > 0) //这里必须判断count大于0,不然有bug,参见https://www.cnblogs.com/seasons1987/p/3513135.html { dgvWait4Check.DataSource = _list; } if (_recordCount == 0) { return; } if (curSelectedCol != -1 && dgvWait4Check.Rows.Count > _curIdx) { dgvWait4Check.CurrentCell = dgvWait4Check.Rows[_curIdx].Cells[curSelectedCol]; } }