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); } }
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); } }
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); }