public static CmdUnit CreateDeviceUnit(string data) { try { string header = data.Substring(0, 5); if (header != "ECARD") { return(null); } string deviceType = data.Substring(5, 5); //处理头文件 switch (deviceType) { case CPU_DCH10: D10CMDUnit unit = new D10CMDUnit(); //unit unit.Buffer = data; unit.BSTR = data.Substring(5, data.Length - 5); if (unit.PaseDataString(unit.BSTR)) { return(unit); } break; case CD_M1: CDM1Unit cduit = new CDM1Unit(); //unit unit.Buffer = data; cduit.BSTR = data.Substring(5, data.Length - 5); if (cduit.PaseDataString(cduit.BSTR)) { return(cduit); } break; break; default: break; } return(null); } catch { throw; } }
public D10CMDUnit SendCommand(CmdUnit unit) { string ret = string.Empty; D10CMDUnit d10unit = (D10CMDUnit)unit; switch (d10unit.DeviceCmdType) { case EDeviceCmdType.D10_openDeviceCMD: if (!Intial()) { d10unit.RetInfo = "打开设备失败,请重试!"; break; } if (!CheckCard()) { d10unit.RetInfo = "寻卡失败,请重试!"; break; } //d10unit.RetInfo = D10CMDUnit.Success; d10unit.RetInfo = D10CMDUnit.Success; break; case EDeviceCmdType.D10_getCardIDCMD: if (!Intial()) { d10unit.RetInfo = "打开设备失败,请重试!"; break; } if (!CheckCard()) { d10unit.RetInfo = "寻卡失败,请重试!"; break; } d10unit.RetInfo = getCarID(); break; case EDeviceCmdType.D10_getBalanceCMD: if (!Intial()) { d10unit.RetInfo = "打开设备失败,请重试!"; break; } if (!CheckCard()) { d10unit.RetInfo = "寻卡失败,请重试!"; break; } d10unit.RetInfo = getCardBlanseInfo(); break; default: break; } return(d10unit); }