Exemplo n.º 1
0
        protected override void OnCreate()
        {
            var config = TimerConfig.Default();

            config.Left      = 868;
            config.Top       = 64;
            config.Font_Size = 22;
            SetTimerConfig(config);

            //if (ConfigFile.ReadConfigAndCreate("AppData", "AutoRun", "1").Trim() == "1")
            //{
            //    if (SetAutoRunCtrlRegInfo(true))
            //        Log.Info("设置开机自启动成功");
            //}

            #region 此功能在配置参数时已实现
            //if (ConfigFile.ReadConfigAndCreate("AppData", "AutoRun", "1").Trim() == "1")
            //{
            //    if (SetAutoRunCtrlRegInfo(true))
            //        Log.Info("设置开机自启动成功");
            //}
            //else
            //{
            //    if (SetAutoRunCtrlRegInfo(false))
            //        Log.Info("取消开机自启动成功");
            //}
            #endregion

            //初装机注册文件
            if (GlobalAppData.GetInstance().AppFirst&& RegsvrStarTrans())
            {
                Log.Info("注册成功");
                GlobalAppData.GetInstance().AppFirst = false;
            }

            //GPRS.AddedToManager();
            CardReader.AddedToManager();
            Esam.AddedToManager();
            ReceiptPrinter.AddedToManager();
            //R80.AddedToManager();
            GasCardReader.AddedToManager();
        }
Exemplo n.º 2
0
        private int ReadCardDeal()
        {
            try
            {
#if DEBUG
                int resDebug = 0;
                entity.cardinfo.cardNo   = "02063838";
                entity.cardinfo.cardType = "1";
                entity.cardinfo.gasCount = "1";
                entity.cardinfo.iccSpare = "0";
                entity.cardinfo.icErroy  = "";
                entity.cardinfo.icNum    = "1";
                return(resDebug);
#endif
                int res = GasCardReader.ReadGasCard(ref entity.cardinfo);
                //int res = 0;
                getDeMsg();
                if (res == 0)
                {
                    return(0);
                }
                else
                {
                    if (res == -1)
                    {
                        ShowMessageAndGoBack("读卡出错|程序出错");
                    }
                    else
                    {
                        string strRes = entity.GetGasCardReaderRes(res);
                        ShowMessageAndGoBack("读卡出错|错误码:" + res + "\r\n错误信息:" + strRes);
                    }
                    return(-1);
                }
            }
            catch (Exception ex)
            {
                Log.Error("[BeingReadGasCardDeal][ReadCardDeal] error ", ex);
                return(-1);
            }
        }
Exemplo n.º 3
0
        private int WriteCardDeal()
        {
            int res = -1;

#if DEBUG
            return(res);
#else
            try
            {
                //string icId = text_w_icid.Text;
                //string icMark = text_w_icmark.Text.PadLeft(2, '0');
                //string icNum = text_w_icnum.Text.PadLeft(2, '0');
                //string icGas = text_w_gas.Text;

                //string datetime = text_w_datetime.Text;
                //string temp = String.Format("{0}{1}{2}{3}{4}{5}{6}", icId.PadRight(20, 'F'), icMark, icNum,
                //                            icGas.PadLeft(8, '0'), dateB, timeB, datetime);

                //byte[] sPassWord = Encoding.ASCII.GetBytes(text_w_password.Text);
                //int iGasCount = int.Parse(text_w_gascount.Text);
                //int iIcErroy = -1;
                //string sErrMsg = null;
                int icGas = int.Parse(entity.cardinfo.gasCount) + 1;
                entity.cardinfo.gasCount = icGas.ToString();

                DateTime dt    = DateTime.Now;
                string   dateB = String.Format("{0}{1}{2}", dt.Year, dt.Month.ToString().PadLeft(2, '0'), dt.Day.ToString().PadLeft(2, '0'));
                string   timeB = String.Format("00{0}{1}{2}", dt.Hour.ToString().PadLeft(2, '0'), dt.Minute.ToString().PadLeft(2, '0'), dt.Second.ToString().PadLeft(2, '0'));
                if (entity.cardinfo.cardType == "0")
                {
                    //天信 充钱

                    //输入金额格式待讨论 目前30.1格式为00030100

                    string temp = String.Format("{0}{1}{2}{3}{4}{5}{6}", entity.cardinfo.cardNo.PadRight(20, 'F'), entity.cardinfo.icMark.PadLeft(2, '0'), entity.cardinfo.icNum.PadLeft(2, '0'), (entity.Amount).ToString().PadLeft(8, '0'), dateB, timeB, entity.deenCryptmsg.readCardTime);
                    entity.cardinfo.strDeCrypt = temp;
                }
                else
                {
                    //苍南 购气
                    //14位IC卡号(不足14位后加F补齐)+1位平台代码+1位读卡器类型+1位动态库类型+3位动态库版本+2位卡备注信息(不足2位补零)+2位发卡次数信息(不足2位前补零)+ 8位卡内余量(不足8位前补零)+8位表内余量(不足8位前补零)+8位总用气量(不足8位前补零)+8位当前日期A(YYYYMMDD)+8位当前时间A(00HHMMSS)

                    Log.Info("entity.deenCryptmsg.platformCode : " + entity.deenCryptmsg.platformCode);

                    string temp = String.Format("{0}{1}{2}{3}{4}{5}{6}{7}{8}{9}{10}", entity.cardinfo.cardNo.PadRight(14, 'F'), entity.deenCryptmsg.platformCode, entity.deenCryptmsg.readCardType, entity.deenCryptmsg.dllType, entity.deenCryptmsg.dllVersion, entity.deenCryptmsg.remainMsg.PadLeft(2, '0'), entity.deenCryptmsg.getCardNums.PadLeft(2, '0'), entity.buyNums.ToString().PadLeft(8, '0'), "".PadLeft(16, '0'), dateB, timeB);
                    entity.cardinfo.strDeCrypt = temp;
                }

                Log.Info("write DeCrypt: " + entity.cardinfo.strDeCrypt);
                res = GasCardReader.WriteCard(entity.cardinfo, int.Parse(entity.cardinfo.cardType));
                if (res != 0)
                {
                    icGas = int.Parse(entity.cardinfo.gasCount) - 1;
                    entity.cardinfo.gasCount = icGas.ToString();
                    throw new Exception("GasCardReader.WriteCard err res : " + res);
                }
            }
            catch (Exception ex)
            {
                Log.Error("[BeingWriteGasCardDeal][WriteCardDeal]err", ex);
            }
            return(res);
#endif
        }