예제 #1
0
    private static ResultInfo defaultEventHandle(K3DataParaInfo docInfo, K3InterceptConfig busiConfig)
    {
        SqlPipe pipe = SqlContext.Pipe;

        try
        {
            pipe.Send("defaultEventHandle");
            string strRlt = string.Empty;
            SqlCLRTest.X9WebService.WebService svValidateBM = new SqlCLRTest.X9WebService.WebService();
            svValidateBM.Url = string.Format("http://{0}", busiConfig.ServiceAddress);
            string strDocInfo = XmlSerialize <K3DataParaInfo>(docInfo, Encoding.Unicode);
            pipe.Send(strDocInfo);
            //string strHttpEncoding = HttpUtility.HtmlEncode(strDocInfo);
            strRlt = svValidateBM.SynchBillFromK3ToX9(strDocInfo);

            if (!string.IsNullOrEmpty(strRlt))
            {
                pipe.Send(strRlt);
                //strRlt = strRlt.Replace(" xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\"", "");
                //string strHttpDecoding = HttpUtility.HtmlDecode(strRlt);
                ResultInfo rltInfo = XmlDeserialize <ResultInfo>(strRlt, Encoding.Unicode);
                return(rltInfo);
            }
            return(null);
        }
        catch (Exception ex)
        {
            //LogInfoHelp.infoLog(eventName, docInfo, string.Format("调用X9系统服务时,异常:{0}", ex.Message));
            pipe.Send(string.Format("Exception cacheDocInfo:{0}", ex.Message));
            return(null);
        }
    }
예제 #2
0
    private static void cacheDocInfo(K3DataParaInfo docInfo, K3InterceptConfig busiConfig)
    {
        try
        {
            using (SqlConnection sqlconn = new SqlConnection(@"context connection=true"))
            {
                sqlconn.Open();
                using (SqlCommand sqlcommCache = new SqlCommand("zz_pr_X9WebSrvBackup_Save", sqlconn))
                {
                    sqlcommCache.CommandType = CommandType.StoredProcedure;
                    string       strDocInfo      = XmlSerialize <K3DataParaInfo>(docInfo, Encoding.Unicode);
                    SqlParameter sqlparamDocInfo = new SqlParameter("@DocInfo", SqlDbType.Xml);
                    sqlparamDocInfo.Value = strDocInfo;
                    SqlParameter sqlparamUrl = new SqlParameter("@Url", SqlDbType.NVarChar);
                    sqlparamUrl.Value = string.Format("http://{0}", busiConfig.ServiceAddress);
                    sqlcommCache.Parameters.Add(sqlparamDocInfo);
                    sqlcommCache.Parameters.Add(sqlparamUrl);

                    sqlcommCache.ExecuteNonQuery();
                }
            }
        }
        catch (Exception ex)
        {
            //throw new RankException(string.Format("暂存DocInfo存储异常:{0}", string.Empty), ex);
            //MessageBox.Show(string.Format("{0}\t暂存DocInfo存储异常:{1}", Environment.NewLine, ex.Message));
            throw new Exception(string.Format("{0}\t暂存DocInfo存储异常:{1}", Environment.NewLine, ex.Message), ex);
        }
    }
예제 #3
0
    public static void StoredProcedure2()
    {
        // 在此处放置代码
        SqlPipe           pipe        = SqlContext.Pipe;
        K3InterceptConfig BusiConfigs = null;
        string            strViewXml  = string.Empty;

        K3DataParaInfo docInfo = new K3DataParaInfo()
        {
            BillCode    = "abc",
            InterID     = 1233,
            TransType   = 85,
            ROB         = 1,
            CurrentUser = "******",
            X9BillType  = 5,
            EventName   = "UnClosedBefore",
            Data        = "",
        };

        using (SqlConnection sqlconn = new SqlConnection(@"context connection=true"))
        {
            sqlconn.Open();
            using (SqlCommand sqlcommPOView = new SqlCommand("zz_pr_BusiConfigSingle_View", sqlconn))
            {
                sqlcommPOView.CommandType = CommandType.StoredProcedure;

                SqlParameter sqlparaResult = new SqlParameter("@Infos", SqlDbType.Xml, 5000);
                sqlparaResult.Direction = ParameterDirection.Output;
                SqlParameter sqlparaDocInfo = new SqlParameter("@DocInfo", SqlDbType.Xml);
                sqlparaDocInfo.Direction = ParameterDirection.Input;
                sqlparaDocInfo.Value     = XmlSerialize <K3DataParaInfo>(docInfo, Encoding.Unicode);
                sqlcommPOView.Parameters.Add(sqlparaDocInfo);
                sqlcommPOView.Parameters.Add(sqlparaResult);
                pipe.Send("begin");
                sqlcommPOView.ExecuteNonQuery();
                strViewXml = sqlparaResult.Value.ToString();
                pipe.Send(strViewXml);
                BusiConfigs = XmlDeserialize <K3InterceptConfig>(strViewXml, Encoding.UTF8);
            }
        }


        defaultEventHandle(docInfo, BusiConfigs);
        cacheDocInfo(docInfo, BusiConfigs);
    }