예제 #1
0
파일: frmMain.cs 프로젝트: wpmyj/HS-M60
        /// <summary>
        /// 结账
        /// </summary>
        /// <param name="msg"></param>
        /// <returns></returns>
        private void Settle()
        {
            if (MessageBox.Show("结账将发送未上传流水,银联流水结算清空,确认要进行结账?", "确认", MessageBoxButtons.YesNo, MessageBoxIcon.Question, MessageBoxDefaultButton.Button2) != DialogResult.OK)
            {
                return;
            }
            string msg;
            string ReturnMsg = string.Empty;

            ShowWait("正在结算...请稍候");
            if (!SalSalePayDAL.GetSalSalePay(out PubGlobal.Cur_tSalSalePayList, out msg))
            {
                MessageBox.Show("获取流水失败:" + msg);
            }
            else
            {
                if (PubGlobal.Cur_tSalSalePayList.Count > 0 && !Comm.Comm.RecvPay(PubGlobal.OrgCode, PubGlobal.User.UserCode, PubGlobal.User.Password, PubGlobal.Cur_tSalSalePayList, "1", ref ReturnMsg, out msg))
                {
                    MessageBox.Show(msg);
                }

                PubGlobal.Cur_tSalSalePayList.Clear();
            }
            if (!cEmvpbocBank.Action(Devices.CEmvpboc.ActionType.结算, out msg))
            {
                MessageBox.Show("银行结算失败:" + msg);
            }
            if (!cEmvpbocVip.Action(Devices.CEmvpboc.ActionType.结算, out msg))
            {
                MessageBox.Show("储值卡结算失败:" + msg);
            }
            HideWait();
        }
예제 #2
0
파일: WsInterface.cs 프로젝트: wpmyj/HS-M60
        /// <summary>
        /// 支付
        /// </summary>
        /// <param name="payLst"></param>
        /// <param name="SendStatus">发送状态:0-正常发送,1-结算发送</param>
        /// <param name="msg"></param>
        /// <param name="UserCode"></param>
        /// <param name="Password"></param>
        public static bool RecvPay(string OrgCode, string UserCode, string Password, List <TSalSalePay> payLst, string SendStatus, ref string ReturnMsg, out string msg)
        {
            string sJson = CodeBetter.Json.Converter.Serialize(payLst);

            try
            {
                if (!RecvMessageObj <string>(RecvSalePayClass.RecvSalePayFunc(sJson, SendStatus, UserCode, Password), ref ReturnMsg, out msg))
                {
                    if (SendStatus == "0")
                    {
                        throw new Exception(ReturnMsg);
                    }
                    else
                    {
                        if (!SalSalePayDAL.RemoveSalSalePay(out msg))
                        {
                            msg = "删除本地流水失败:" + msg;
                        }
                    }
                    return(false);
                }
                else
                {
                    return(true);
                }
            }
            catch (Exception ex)
            {
                //保存失败流水到本地数据库
                if (SendStatus == "0" && !SalSalePayDAL.AddSalSalePay(PubGlobal.Cur_tSalSalePayList, out msg))
                {
                    msg = "发送流水失败:" + ex.Message + "\r\n保存数据至本地失败:" + msg;
                }
                else
                {
                    msg = "发送流水失败:" + ex.Message + "\r\n已将流水存在本地数据库。当日结算时将再次发送。";
                }
                return(false);
            }
        }