Exemplo n.º 1
0
        static void Main(string[] args)
        {
            // Log.Debug("in");
            //  writeFile(args[0] +"*******"+ args[1]);
            CardInfos ci = new CardInfos();

            try
            {
                StreamReader sr = new StreamReader("card.config");
                string       line;
                while ((line = sr.ReadLine()) != null)
                {
                    string[]   attr   = line.Split(',');
                    String[]   ccPair = attr[0].Split('=');
                    String[]   icard  = attr[1].Split('=');
                    CardConfig cc     = new CardConfig()
                    {
                        Name = ccPair[1].Trim()
                    };
                    ICard card = (ICard)Assembly.GetExecutingAssembly().CreateInstance(icard[1].Trim());
                    cc.Card = card;
                    ci.Add(cc);
                }
                sr.Close();
            }
            catch (Exception e)
            {
                String config = JsonConvert.SerializeObject(new Ret()
                {
                    Err = "卡配置文件错误。"
                });
                Console.Write(config);
                Log.Debug(config);
                return;
            }

            int   BaudRate = int.Parse(Config.GetConfig("Baud"));
            short Port     = short.Parse(Config.GetConfig("Port"));

            Log.Debug(String.Join(" ", args));
            Log.Debug("args[0]: " + args[0] + "--" + args[1]);
            GenericService service = new GenericService(ci, Port, BaudRate);
            Object         obj     = null;
            Object         obj1    = null;

            string result  = null;
            string result1 = null;
            string result2 = null;
            string result3 = null;

            switch (args[0])
            {
            case "ReadCard":
                byte [] b = HexToBytes(args[1]);
                Log.Debug("args[1]: " + args[1]);
                srdCard_ver(256, b);
                obj = service.ReadCard();
                break;

            case "WriteGasCard":
//===================================================================
                byte[] bbbb = HexToBytes(args[19]);
                byte[] bbb  = new byte[3];
                byte[] bb   = new byte[256];
                Log.Debug("card password!!!!!!!!!!!!!!!!!!");

                srdCard_ver(256, bbbb);
                Log.Debug("start read card!!!!!!!!!!!!!!!!!!!!");

                Log.Debug("写卡开始:" + args[1] + "result" + args[19]);
                obj1 = service.WriteGasCard(args[1], args[2], args[3], args[4],
                                            int.Parse(args[5]), int.Parse(args[6]), int.Parse(args[7]), short.Parse(args[8]),
                                            int.Parse(args[9]), int.Parse(args[10]), int.Parse(args[11]), int.Parse(args[12]),
                                            args[13], args[14], int.Parse(args[15]), int.Parse(args[16]), args[17], args[18], args[19]
                                            );

                get_kmm(bbb);
                result1 = ToHexString(bbb);
                Log.Debug("result1" + result1);
                get_Date(bb);
                result2 = ToHexString(bb);
                Log.Debug("result2" + result2);
                WriteRet ret = new WriteRet();
                ret.Kmy   = result1;
                ret.Kdata = result2;
                break;

            case "WriteNewCard":
                byte[] data = HexToBytes(args[24]);
                Log.Debug("data======" + args[24]);
                byte[] password = new byte[3];
                string str      = "WriteNewCard";
                srdCard_ver(256, data);
                Log.Debug("WriteNewCard:" + str);
                obj = service.WriteNewCard(args[1], args[2], short.Parse(args[3]), args[4], args[5], args[6], args[7],
                                           int.Parse(args[8]), int.Parse(args[9]), int.Parse(args[10]), short.Parse(args[11]),
                                           int.Parse(args[12]), short.Parse(args[13]), int.Parse(args[14]), int.Parse(args[15]),
                                           int.Parse(args[16]), int.Parse(args[17]), args[18], args[19], int.Parse(args[20]), int.Parse(args[21]), args[22], args[23], args[24]
                                           );
                get_kmm(password);
                result1 = Convert.ToString(password);
                result2 = JsonConvert.SerializeObject(obj);
                break;

            case "FormatGasCard":
                obj = service.FormatGasCard(args[1], args[2], args[3], args[4]);
                break;

            case "OpenCard":
                obj = service.OpenCard(args[1], args[2], args[3], args[4]);
                break;

            default:
                return;
            }
            result = JsonConvert.SerializeObject(obj);

            result = result1 + result2 + result3;
            Console.Write(result);
            Log.Debug("*******************" + result + "*******************");
            return;
        }
Exemplo n.º 2
0
        static void Main(string[] args)
        {
            CardInfos ci = new CardInfos();

            try
            {
                StreamReader sr = new StreamReader("card.config");
                string       line;
                while ((line = sr.ReadLine()) != null)
                {
                    string[]   attr   = line.Split(',');
                    String[]   ccPair = attr[0].Split('=');
                    String[]   icard  = attr[1].Split('=');
                    CardConfig cc     = new CardConfig()
                    {
                        Name = ccPair[1].Trim()
                    };
                    ICard card = (ICard)Assembly.GetExecutingAssembly().CreateInstance(icard[1].Trim());
                    cc.Card = card;
                    ci.Add(cc);
                }
                sr.Close();
            }
            catch (Exception e)
            {
                String config = JsonConvert.SerializeObject(new Ret()
                {
                    Err = "卡配置文件错误。"
                });
                Console.Write(config);
                Log.Debug(config);
                return;
            }

            int   BaudRate = int.Parse(Config.GetConfig("Baud"));
            short Port     = short.Parse(Config.GetConfig("Port"));

            Log.Debug(String.Join(" ", args));
            try
            {
                GenericService service = new GenericService(ci, Port, BaudRate);
                Object         obj     = null;
                switch (args[0])
                {
                case "ReadCard":
                    obj = service.ReadCard();
                    break;

                case "WriteGasCard":
                    byte[]       array  = Encoding.ASCII.GetBytes(args[1]);
                    MemoryStream stream = new MemoryStream(array);
                    obj = service.WriteGasCard(stream, args[2], args[3], args[4],
                                               args[5], args[6], args[7], args[8],
                                               args[9], args[10], args[11], args[12],
                                               args[13], args[14], args[15], args[16], args[17], args[18], args[19]
                                               );
                    break;

                case "WriteNewCard":
                    byte[]       array1  = Encoding.ASCII.GetBytes(args[1]);
                    MemoryStream stream1 = new MemoryStream(array1);
                    obj = service.WriteNewCard(stream1, args[2], args[3], args[4], args[5], args[6], args[7],
                                               args[8], args[9], args[10], args[11],
                                               args[12], args[13], args[14], args[15],
                                               args[16], args[17], args[18], args[19], args[20], args[21], args[22], args[23]
                                               , args[24], args[25], args[26]);
                    break;

                case "FormatGasCard":
                    obj = service.FormatGasCard(args[1], args[2], args[3], args[4]);
                    break;

                case "OpenCard":
                    obj = service.OpenCard(args[1], args[2], args[3], args[4]);
                    break;

                default:
                    return;
                }

                String result = JsonConvert.SerializeObject(obj);
                File.WriteAllText("result.dat", result);
                Log.Debug(result);
            }
            catch (Exception ee)
            {
                Log.Debug("Activter异常:" + ee.Message + "-----" + ee.StackTrace);
            }

            return;
        }