You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
95 lines
3.4 KiB
95 lines
3.4 KiB
using System;
|
|
using System.Collections.Generic;
|
|
using System.IO;
|
|
using System.Linq;
|
|
using System.Text;
|
|
using System.Threading.Tasks;
|
|
using System.Windows.Forms;
|
|
using ShenTun.IcCard.Common;
|
|
namespace ShenTun.IcCard.Instance
|
|
{
|
|
/// <summary>
|
|
/// 研腾,华视(100)
|
|
/// </summary>
|
|
public class ReadCardByYT100:IReadCard
|
|
{
|
|
Response IReadCard.GetReadCard()
|
|
{
|
|
int iPort = 1001;
|
|
int ret = -1;
|
|
bool bDisp = false;
|
|
string strTmp = string.Empty;
|
|
Response res = new Response()
|
|
{
|
|
code = -101
|
|
};
|
|
IDCardInfo idCard = new IDCardInfo();
|
|
try
|
|
{
|
|
ret = YT100.InitComm(iPort);
|
|
LogHelper.LogWriter("InitComm End");
|
|
|
|
if (ret != 1)
|
|
{
|
|
res.code = -101;
|
|
res.message = "打开读卡设备失败,请确认是否安装驱动以及是否已连接读卡器!";
|
|
return res;
|
|
}
|
|
bDisp = true;
|
|
ret = YT100.Authenticate();
|
|
LogHelper.LogWriter("Authenticate End");
|
|
if (ret <= 1)
|
|
{
|
|
res.code = -102;
|
|
res.message = "巡卡失败,请拿开身份证重新放置!";
|
|
return res;
|
|
}
|
|
|
|
YT100.Read_Content(1);
|
|
LogHelper.LogWriter("Read_Content End");
|
|
idCard.Name = YT100.GetName();
|
|
LogHelper.LogWriter("GetName End");
|
|
idCard.Sex = YT100.GetSex();
|
|
LogHelper.LogWriter("GetSex End");
|
|
idCard.IDCode = YT100.GetIDCode();
|
|
LogHelper.LogWriter("GetIDCode End");
|
|
idCard.Birthday = YT100.GetBirthday();
|
|
LogHelper.LogWriter("GetBirthday End");
|
|
idCard.Address = YT100.GetAddress();
|
|
LogHelper.LogWriter("GetAddress End");
|
|
strTmp = YT100.GetNation();
|
|
LogHelper.LogWriter("GetNation End");
|
|
//var nation = BaseData.nList.Where(p => p.Name.Equals(strTmp)).FirstOrDefault();
|
|
if (!strTmp.Contains("族"))
|
|
idCard.Nation = strTmp + "族";
|
|
else
|
|
idCard.Nation = strTmp;
|
|
LogHelper.LogWriter("Nation End");
|
|
|
|
idCard.DepartmentIC = YT100.GetDepartmentIC();
|
|
LogHelper.LogWriter("GetDepartmentIC End");
|
|
idCard.StartDateIC = YT100.GetStartDateIC();
|
|
LogHelper.LogWriter("GetStartDateIC End");
|
|
//某些身份证读取不了下面的字段
|
|
//idCard.EndDateIC = YT100.GetEndDateIC();
|
|
//LogHelper.LogWriter("GetEndDateIC End");
|
|
idCard.Photo = YT100.GetPhoto();
|
|
LogHelper.LogWriter("GetPhoto End");
|
|
res.code = 1;
|
|
res.data = idCard;
|
|
res.message = "Success";
|
|
}
|
|
catch (Exception ex)
|
|
{
|
|
LogHelper.LogWriter(string.Format("ExceptionMessage:{0}",ex.Message));
|
|
throw new Exception(string.Format("读卡器接口操作失败:{0}", ex.Message));
|
|
}
|
|
finally
|
|
{
|
|
if (bDisp)
|
|
YT100.CloseComm();
|
|
}
|
|
return res;
|
|
}
|
|
}
|
|
}
|