示例#1
0
        public object CheckStatus()
        {
            try
            {
                if (!IsUse)
                {
                    return(true);
                }
                foreach (KeyValuePair <string, string> item in GlobalAppData.GetInstance().BusiServerIpAndPort)
                {
                    string[] temp = item.Value.Split(':');
                    if (!CheckConnection(temp[0], int.Parse(temp[1])))
                    {
                        return(false);
                    }
                }
            }
            catch (System.Exception ex)
            {
                Log.Error("[GPRS][Open]CheckStatus", ex);
                return(false);
            }

            return(true);
        }
示例#2
0
        protected override void OnCreate()
        {
            TimerConfig config = TimerConfig.Default();

            config.Top       = 685;
            config.Left      = 772;
            config.Color     = "red";
            config.Font_Size = 20;
            SetTimerConfig(config);
            if (ConfigFile.ReadConfigAndCreate("AppData", "AutoRun", "1").Trim() == "1")
            {
                if (SetAutoRunCtrlRegInfo(true))
                {
                    Log.Info("设置开机自启动成功");
                }
            }
            //初装机注册文件
            if (GlobalAppData.GetInstance().AppFirst&& RegsvrStarTrans())
            {
                Log.Info("注册成功");
                GlobalAppData.GetInstance().AppFirst = false;
            }

            ReceiptPrinter.AddedToManager();
        }
示例#3
0
        public object Open()
        {
            try
            {
                if (!IsUse)
                {
                    Log.Info("已关闭GPRS模块,无需拨号");
                    return(true);
                }

                if (GlobalAppData.GetInstance().BusiServerIpAndPort.Count == 0)
                {
                    Log.Info("业务IP或端口没有分配,请先分配");
                    return(false);
                }

                HangUpAllConnection();
                foreach (KeyValuePair <string, string> item in GlobalAppData.GetInstance().BusiServerIpAndPort)
                {
                    string[] temp = item.Value.Split(':');
                    if (!CreateConnection(3, temp[0], int.Parse(temp[1])))
                    {
                        return(false);
                    }
                }
            }
            catch (System.Exception ex)
            {
                Log.Error("[GPRS][Open]Error", ex);
                return(false);
            }
            return(true);
        }
示例#4
0
        private void CloseProg_Click(object sender, HtmlElementEventArgs e)
        {
            if (MessageBox.Show("确定要关闭程序?", "提示", MessageBoxButtons.OKCancel) == DialogResult.OK)
            {
                if (GlobalAppData.GetInstance().EudemonSwitch)
                {
                    EudemonHandler.Instance.CloseEudemon("landi123");
                }
#if !DEBUG
                SetAutoRunCtrlRegInfo(false);
#endif
                Quit();
            }
        }
示例#5
0
 public Form1()
 {
     WriteWebBrowserRegKey("FEATURE_BROWSER_EMULATION", 10001, true);//此处暂时只能设置到IE10,如果设置成IE11,加载的页面内容将允许被选中
     InitializeComponent();
     m_check          = false;
     m_timer          = new System.Timers.Timer();
     m_timer.Interval = 1000;
     Cursor.Hide();
     m_timer.Elapsed    += new System.Timers.ElapsedEventHandler(m_timer_Elapsed);
     Global.gTerminalPay = new TerminalPay();
     if (GlobalAppData.GetInstance().EudemonSwitch)
     {
         EudemonHandler.Instance.SetEudemonTicket(60);
     }
 }
示例#6
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();
        }
示例#7
0
        private void Ok_Click(object sender, HtmlElementEventArgs e)
        {
            string passWord = GetElementById("Password").GetAttribute("value").Trim();

            if (passWord.Length < 6)
            {
                GetElementById("Password").SetAttribute("value", "");
                return;
            }

            //校验密码
            if (Encrypt.AESEncrypt(passWord, GlobalAppData.EncryptKey) == GlobalAppData.GetInstance().EntryPwd)
            {
                StartActivity("管理主界面");
            }
            else
            {
                GetElementById("Password").SetAttribute("value", "");
            }
        }
示例#8
0
        private void Ok_Click(object sender, HtmlElementEventArgs e)
        {
            string oldPass        = GetElementById("oldPass").GetAttribute("value");
            string newPass        = GetElementById("newPass").GetAttribute("value");
            string newPassConfirm = GetElementById("newPassConfirm").GetAttribute("value");

            if (Encrypt.AESEncrypt(oldPass, GlobalAppData.EncryptKey) != GlobalAppData.GetInstance().EntryPwd)
            {
                GetElementById("info").InnerText = "¾ÉÃÜÂëÊäÈë´íÎó£¡";
                GetElementById("oldPass").SetAttribute("value", "");
                GetElementById("newPass").SetAttribute("value", "");
                GetElementById("newPassConfirm").SetAttribute("value", "");
                return;
            }
            if (newPass.Length != 6)
            {
                GetElementById("info").InnerText = "ÐÂÃÜÂ볤¶È´íÎó£¡";
                GetElementById("oldPass").SetAttribute("value", "");
                GetElementById("newPass").SetAttribute("value", "");
                GetElementById("newPassConfirm").SetAttribute("value", "");
                return;
            }
            if (newPass != newPassConfirm)
            {
                GetElementById("info").InnerText = "ÐÂÃÜÂëÊäÈë²»Ò»Ö£¡";
                GetElementById("oldPass").SetAttribute("value", "");
                GetElementById("newPass").SetAttribute("value", "");
                GetElementById("newPassConfirm").SetAttribute("value", "");
                return;
            }
            GlobalAppData.GetInstance().EntryPwd = Encrypt.AESEncrypt(newPass, GlobalAppData.EncryptKey);
            GetElementById("info").InnerText = "ÃÜÂëÐ޸ijɹ¦£¡";
            GetElementById("oldPass").SetAttribute("value", "");
            GetElementById("newPass").SetAttribute("value", "");
            GetElementById("newPassConfirm").SetAttribute("value", "");
        }
示例#9
0
        private void PayProcess()
        {
            TransAccessFactory db = new TransAccessFactory();
            int nTryConfirm       = 3;
            CPetroPayBeingPay     PetroPayBeingPay = new CPetroPayBeingPay();
            TransResult           retPay           = SyncTransaction(PetroPayBeingPay);
            CReverse_YAPaymentPay rev = new CReverse_YAPaymentPay(PetroPayBeingPay);

            if (retPay == TransResult.E_SUCC)
            {
                if (bisICCard)
                {
                    int state = emv.EMVTransEnd(YAPaymentPay.RecvField55, YAPaymentPay.RecvField38);
                    if (state != 0)
                    {
                        rev.Reason = "06";
                        SyncTransaction(rev);
                        ShowMessageAndGotoMain("IC确认错误,交易失败,请重试");
                        return;
                    }
                }

                if (GlobalAppData.GetInstance().AccessSwitch)
                {
                    db.PayTraceNo = YAPaymentPay.PayTraceNo;
                    ResponseData rd = new YAPaymentPay().GetResponseData();
                    db.InsertTransLog(rd);
                }
CONFIRM:
                //缴费成功,发起确认销账
                CPetroPayBillConfirm billConfirm = new CPetroPayBillConfirm();
                TransResult retConfirm = SyncTransaction(billConfirm);
                //Test
                //retConfirm = TransResult.E_RECV_FAIL;
                //PetroChinaPay.PayTraceNo = "111111";
                //PetroChinaPay.PayReferenceNo = "123456789012345678";
                if (retConfirm != TransResult.E_SUCC &&
                    retConfirm != TransResult.E_RECV_FAIL)
                {
                    if (GlobalAppData.GetInstance().AccessSwitch)
                    {
                        db.UpdateTransLog(EnumConfirmFlag.E_REVERSE);
                    }

                    //失败但不超时才发冲正
                    if (bisICCard)
                    {
                        rev.SetField55Value(emv.EMVInfo.EndField55, emv.EMVInfo.EndField55.Length);//处理之后的55域
                    }
                    rev.Reason = "06";
                    SyncTransaction(rev);
                    ShowMessageAndGotoMain("交易超时,请重试");
                    return;
                }
                else if (retConfirm == TransResult.E_RECV_FAIL)
                {
                    //超时无响应循环发送确认报文
                    if (nTryConfirm != 0)
                    {
                        nTryConfirm--;
                        goto CONFIRM;
                    }

                    //销账失败
                    //操作成功,后台发生异常,核销失败,请不要继续缴费,
                    //等待系统自动处理。次日下午4:00以后再行查看缴费情况
                    Log.Warn("银行卡扣款成功,但销账失败,需人工处理CardNo=" + CommonData.BankCardNum +
                             " 凭证号=" + YAPaymentPay.PayTraceNo + " 系统参考号=" + YAPaymentPay.PayReferenceNo);
                    rev.ClearReverseFile();//清除冲正文件
                    StartActivity("中石油支付销账失败");

                    //string failPath = Path.Combine(Application.StartupPath, "PetroConfirmFailInfo.dat");
                    //ConfirmFailInfo info = new ConfirmFailInfo();
                    //info.BankCardNo = CommonData.BankCardNum;
                    //info.PayTraceNo = PetroChinaPay.PayTraceNo;
                    //info.PayReferenceNo = PetroChinaPay.PayReferenceNo;
                    //List<ConfirmFailInfo> list = new List<ConfirmFailInfo>();
                    //list.Add(info);
                    //Utility.SaveToFile<ConfirmFailInfo>(failPath, list);
                }
                else
                {
                    if (GlobalAppData.GetInstance().AccessSwitch)
                    {
                        db.UpdateTransLog(EnumConfirmFlag.E_SUCC);
                    }

                    rev.ClearReverseFile();//清除冲正文件
                    if (ReceiptPrinter.ExistError())
                    {
                        StartActivity("中石油支付交易完成");
                    }
                    else
                    {
                        StartActivity("中石油支付交易成功是否打印");
                    }
                }
            }
            else if (retPay == TransResult.E_HOST_FAIL)
            {
                if (PetroPayBeingPay.ReturnCode == "51")
                {
                    ShowMessageAndGotoMain("温馨提示:抱歉!交易失败!" + "\n" +
                                           "您卡内余额不足!");
                }
                else if (PetroPayBeingPay.ReturnCode == "55")
                {
                    StartActivity("中石油支付密码错误");
                }
                else
                {
                    ShowMessageAndGotoMain(PetroPayBeingPay.ReturnCode + "-" + PetroPayBeingPay.ReturnMessage);
                }
            }
            else if (retPay == TransResult.E_RECV_FAIL)
            {
                rev.Reason = "98";
                SyncTransaction(rev);
                ShowMessageAndGotoMain("交易超时,请重试");
                return;
            }
            else
            {
                ShowMessageAndGotoMain("交易失败,请重试");
            }

            rev.ClearReverseFile();//在不发冲正文件的情况下,才清除冲正文件
        }