Beispiel #1
0
        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;
            }
        }
Beispiel #2
0
        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);
        }