public void ReplaceHelper_gettingThirdArray() { ReplaceHelper helper = new ReplaceHelper(textForTesting); string[] thirdArray = helper.getThirdWordsArray(); Assert.AreEqual(3, thirdArray.Length); }
public void SearchNextElement(TextPointer pointer, bool fromReplace) { bool searchString = ReplaceHelper.SearchString(pointer, true, fromReplace); ReplaceHelper.CanReplace = !string.IsNullOrEmpty(SearcBox.Text) && searchString; ErrorProvider.Visibility = searchString ? Visibility.Collapsed : Visibility.Visible; }
private void ReplaceMe() { try { TextPointer test; ErrorProvider.Visibility = ReplaceHelper.ReplaceAndSelect(MainWindow.Global.Caretposition, false, out test, SearcBox.Text, ReplaceBox.Text) ? Visibility.Collapsed : Visibility.Visible; } catch (Exception e) { MainWindow.Global.AddException(e); } }
public void ReplaceHelper_gettingClearedTest() { ReplaceHelper helper = new ReplaceHelper(textForTesting); string clearingText = helper.getClearedText(); bool containsDots = clearingText.Contains('.'); bool containsZap = clearingText.Contains(','); bool containsAl = clearingText.Contains('!'); bool containsQuest = clearingText.Contains('?'); Assert.IsFalse(containsDots); Assert.IsFalse(containsZap); Assert.IsFalse(containsAl); Assert.IsFalse(containsQuest); }
public async Task <bool> IsHandable(Update update) { var a = update.Message?.Text?.Length > 0 && (update.Message?.ReplyToMessage?.Text?.Length > 0 || update.Message?.ReplyToMessage?.Caption?.Length > 0); if (!a) { return(false); } var patterns = update.Message.Text.Split('\n', '\r').ToList(); return(ReplaceHelper.IsHandable(patterns)); }
private void ReplaceAllMe(object sender, RoutedEventArgs e) { try { TextPointer contentStart = FlowDocument.ContentStart; int counter = 1; while (ReplaceHelper.ReplaceAndSelect(contentStart, false, out contentStart, SearcBox.Text, ReplaceBox.Text)) { counter++; } MessageBoxes.MessageBox.ShowMessage(MainWindow.Global, string.Format("{0} Ersetzungen vorgenommen", counter), "Ersetzungen", MessageBoxImage.Information); } catch (Exception exception) { MainWindow.Global.AddException(exception); } }
public async Task HandleUpdate(Update update) { var input = update.Message.ReplyToMessage.Text ?? update.Message.ReplyToMessage.Caption; var patterns = update.Message.Text.Split('\n', '\r').ToList(); try { var reply = ReplaceHelper.Replace(input, patterns); await _client.SendTextMessageAsync(update.Message.Chat.Id, reply, replyToMessageId : update.Message.ReplyToMessage.MessageId); } catch (RegexParseException e) { await _client.SendTextMessageAsync(update.Message.Chat.Id, "Regex parse error", replyToMessageId : update.Message.MessageId); } }
public ActionResult Index2(int id = 120) { string dataDir = Server.MapPath("~/Format/Laporan/"); Stream stream = System.IO.File.OpenRead(dataDir + "SNI.docx"); Aspose.Words.Document doc = new Aspose.Words.Document(stream); stream.Close(); MemoryStream dstStream = new MemoryStream(); ReplaceHelper helper = new ReplaceHelper(doc); //var mime = ""; //MessageBox.Show(String.Format("Document has {0} pages", doc.BuiltInDocumentProperties.Pages)); //helper.Replace("Data1", "wwww"); StyleCollection styles = doc.Styles; //// Iterate through all paragraphs //foreach (Paragraph para in paragraphs) //{ // // If the paragraph has a page break before set then clear it. // if (para.ParagraphFormat.PageBreakBefore) // para.ParagraphFormat.PageBreakBefore = false; // // Check all runs in the paragraph for page breaks and remove them. // foreach (Run run in para.Runs) // { // if (run.Text.Contains(ControlChar.PageBreak)) // run.Text = run.Text.Replace(ControlChar.PageBreak, string.Empty); // } //} // Define style names as they are specified in the Word document. const string paraStyle = "Heading 2"; const string runStyle = "Intense Emphasis"; var wew = ""; // Collect paragraphs with defined styles. // Show the number of collected paragraphs and display the text of this paragraphs. ArrayList paragraphs = ParagraphsByStyleName(doc, paraStyle); Console.WriteLine(string.Format("Paragraphs with \"{0}\" styles ({1}):", paraStyle, paragraphs.Count)); foreach (Paragraph paragraph in paragraphs) { Console.Write(paragraph.ToString(SaveFormat.Text)); wew += paragraph.ToString(SaveFormat.Text); } helper.Replace("Data1", wew); // Collect runs with defined styles. // Show the number of collected runs and display the text of this runs. ArrayList runs = RunsByStyleName(doc, runStyle); Console.WriteLine(string.Format("\nRuns with \"{0}\" styles ({1}):", runStyle, runs.Count)); foreach (Run run in runs) { Console.WriteLine(run.Range.Text); } doc.ViewOptions.ZoomPercent = 100; doc.Save(dstStream, SaveFormat.Docx); var mime = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"; byte[] byteInfo = dstStream.ToArray(); dstStream.Write(byteInfo, 0, byteInfo.Length); dstStream.Position = 0; Response.ContentType = mime; Response.AddHeader("content-disposition", "attachment; filename=SNI_" + id + ".docx"); Response.BinaryWrite(byteInfo); Response.End(); return(new FileStreamResult(dstStream, mime)); //var JumlahHalaman = doc.BuiltInDocumentProperties.Pages; //return Json(new //{ // JumlahHalaman, // style = styles[0].Name, // runs //}, JsonRequestBehavior.AllowGet); }
public ActionResult Approval(int PROPOSAL_ID = 0, string PROPOSAL_PNPS_CODEZZ = "", int PROPOSAL_KOMTEK_ID = 0, int[] PROPOSAL_ICS_REF_ICS_ID = null) { var DataProposal = (from proposal in db.VIEW_PROPOSAL where proposal.PROPOSAL_ID == PROPOSAL_ID select proposal).SingleOrDefault(); var PROPOSAL_PNPS_CODE = db.Database.SqlQuery <string>("SELECT CAST(TO_CHAR (SYSDATE, 'YYYY') || '.' || KOMTEK_CODE || '.' || ( SELECT CAST ( ( CASE WHEN LENGTH (COUNT(PROPOSAL_ID) + 1) = 1 THEN '0' || CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) ELSE CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) END ) AS VARCHAR2 (255) ) PNPSCODE FROM TRX_PROPOSAL WHERE PROPOSAL_KOMTEK_ID = KOMTEK_ID ) AS VARCHAR2(255)) AS PNPSCODE FROM MASTER_KOMITE_TEKNIS WHERE KOMTEK_ID = " + PROPOSAL_KOMTEK_ID).SingleOrDefault(); string test = "SELECT CAST(TO_CHAR (SYSDATE, 'YYYY') || '.' || KOMTEK_CODE || '.' || ( SELECT CAST ( ( CASE WHEN LENGTH (COUNT(PROPOSAL_ID) + 1) = 1 THEN '0' || CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) ELSE CAST ( COUNT (PROPOSAL_ID) + 1 AS VARCHAR2 (255) ) END ) AS VARCHAR2 (255) ) PNPSCODE FROM TRX_PROPOSAL WHERE PROPOSAL_KOMTEK_ID = KOMTEK_ID ) AS VARCHAR2(255)) AS PNPSCODE FROM MASTER_KOMITE_TEKNIS WHERE KOMTEK_ID = " + PROPOSAL_KOMTEK_ID; var USER_ID = Convert.ToInt32(Session["USER_ID"]); var PROPOSAL_PNPS_CODE_FIXER = DataProposal.PROPOSAL_CODE; var DATENOW = MixHelper.ConvertDateNow(); db.Database.ExecuteSqlCommand("UPDATE TRX_PROPOSAL SET PROPOSAL_STATUS = 3, PROPOSAL_STATUS_PROSES = 1,PROPOSAL_KOMTEK_ID = " + PROPOSAL_KOMTEK_ID + ", PROPOSAL_IS_POLLING = 0, PROPOSAL_POLLING_ID = NULL, PROPOSAL_UPDATE_DATE = " + DATENOW + ", PROPOSAL_UPDATE_BY = " + USER_ID + " WHERE PROPOSAL_ID = " + PROPOSAL_ID); var PROPOSAL_LOG_CODE = db.Database.SqlQuery <string>("SELECT PROPOSAL_LOG_CODE FROM TRX_PROPOSAL WHERE PROPOSAL_ID = " + PROPOSAL_ID).SingleOrDefault(); String objek1 = "UPDATE TRX_PROPOSAL SET PROPOSAL_STATUS = 3,PROPOSAL_KOMTEK_ID = " + PROPOSAL_KOMTEK_ID + ", PROPOSAL_STATUS_PROSES = 1, PROPOSAL_IS_POLLING = 0, PROPOSAL_POLLING_ID = NULL, PROPOSAL_UPDATE_DATE = " + DATENOW + ", PROPOSAL_UPDATE_BY = " + USER_ID + " WHERE PROPOSAL_ID = " + PROPOSAL_ID; MixHelper.InsertLog(PROPOSAL_LOG_CODE, objek1.Replace("'", "-"), 2); int APPROVAL_ID = MixHelper.GetSequence("TRX_PROPOSAL_APPROVAL"); db.Database.ExecuteSqlCommand("UPDATE TRX_PROPOSAL_APPROVAL SET APPROVAL_STATUS = 0 WHERE APPROVAL_PROPOSAL_ID = " + PROPOSAL_ID); db.Database.ExecuteSqlCommand("INSERT INTO TRX_PROPOSAL_APPROVAL (APPROVAL_ID,APPROVAL_PROPOSAL_ID,APPROVAL_TYPE,APPROVAL_DATE,APPROVAL_BY,APPROVAL_STATUS,APPROVAL_STATUS_PROPOSAL,APPROVAL_STATUS_SESSION) VALUES (" + APPROVAL_ID + "," + PROPOSAL_ID + ",1," + DATENOW + "," + USER_ID + ",1,2,1)"); db.Database.ExecuteSqlCommand("UPDATE TRX_MONITORING SET MONITORING_TGL_APP_MTPS = " + DATENOW + ", MONITORING_HASIL_APP_MTPS = 1 WHERE MONITORING_PROPOSAL_ID = " + PROPOSAL_ID); int LASTID = MixHelper.GetSequence("TRX_DOCUMENTS"); var TGL_SEKARANG = DateTime.Now.ToString("yyyyMMddHHmmss"); var DataTanggapan = db.Database.SqlQuery <VIEW_POLLING_DETAIL>("SELECT * FROM VIEW_POLLING_DETAIL WHERE POLLING_DETAIL_POLLING_ID = " + DataProposal.PROPOSAL_POLLING_ID + " ORDER BY POLLING_DETAIL_INPUT_TYPE ASC,POLLING_DETAIL_CREATE_DATE DESC").ToList(); string path = Server.MapPath("~/Upload/Dokumen/RANCANGAN_SNI/MTPS/" + PROPOSAL_PNPS_CODE_FIXER + "/"); string dataFormat = Server.MapPath("~/Format/Laporan/"); Stream stream = System.IO.File.OpenRead(dataFormat + "FORMAT_TANGGAPAN_PUBLIKASI_MTPS.docx"); Aspose.Words.Document Tanggapan = new Aspose.Words.Document(stream); ReplaceHelper helper = new ReplaceHelper(Tanggapan); helper.Replace("JudulPNPS", DataProposal.PROPOSAL_JUDUL_PNPS); DateTime dt = Convert.ToDateTime(DataProposal.POLLING_START_DATE); helper.Replace("TanggalJP", dt.ToString("dd/MM/yyyy")); helper.Replace("RuangLingkupPNPS", DataProposal.PROPOSAL_RUANG_LINGKUP); Paragraph paragraph = new Paragraph(Tanggapan); DocumentBuilder builder = new DocumentBuilder(Tanggapan); Aspose.Words.Font font = builder.Font; font.Bold = false; font.Color = System.Drawing.Color.Black; font.Italic = false; font.Name = "Calibri"; font.Size = 11; builder.MoveToDocumentEnd(); var number = 0; string html = "<table width='100%' border='1' bordercolor='#111111' cellpadding='2' style='border-collapse: collapse' cellpadding='0' cellspacing='0'>" + "<tr>" + "<td width='5%' style='text-align:center'><b>No</b></td>" + "<td width='15%' style='text-align:center'><b>Nama</b></td>" + "<td width='15%' style='text-align:center'><b>Tipe tanggapan</b></td>" + "<td width='65%' style='text-align:center'><b>Tanggapan</b></td>" + "</tr>"; foreach (var i in DataTanggapan) { number++; html += "<tr>" + "<td>" + number + "</td>" + "<td>" + i.USER_PUBLIC_NAMA + "</td>" + "<td>" + i.POLLING_DETAIL_INPUT_TYPE_NAME + "</td>" + "<td>" + i.POLLING_DETAIL_REASON + "</td>" + "</tr>"; } html += "</table>"; builder.InsertHtml(html); Tanggapan.Save(@"" + path + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + ".docx", Aspose.Words.SaveFormat.Docx); Tanggapan.Save(@"" + path + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + ".pdf", Aspose.Words.SaveFormat.Pdf); Tanggapan.Save(@"" + path + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + ".xml"); var LOGCODE_TANGGAPAN_MTPS = MixHelper.GetLogCode(); var FNAME_TANGGAPAN_MTPS = "DOC_ID,DOC_FOLDER_ID,DOC_RELATED_TYPE,DOC_RELATED_ID,DOC_NAME,DOC_DESCRIPTION,DOC_FILE_PATH,DOC_FILE_NAME,DOC_FILETYPE,DOC_EDITABLE,DOC_CREATE_BY,DOC_CREATE_DATE,DOC_STATUS,DOC_LOG_CODE"; var FVALUE_TANGGAPAN_MTPS = "'" + LASTID + "', " + "'10', " + "'1', " + "'" + PROPOSAL_ID + "', " + "'" + "(" + PROPOSAL_PNPS_CODE_FIXER + ") Daftar Tanggapan Publikasi Usulan PNPS" + "', " + "'Daftar Tanggapan Hasil Publikasi Usulan PNPS dengan Judul PNPS : " + DataProposal.PROPOSAL_JUDUL_PNPS + "', " + "'" + "/Upload/Dokumen/RANCANGAN_SNI/MTPS/" + PROPOSAL_PNPS_CODE_FIXER + "/" + "', " + "'" + "DAFTAR_TANGGAPAN_PUBLIKASI_USULAN_PNPS_" + PROPOSAL_PNPS_CODE_FIXER + "_" + TGL_SEKARANG + "" + "', " + "'DOCX', " + "'0', " + "'" + USER_ID + "', " + DATENOW + "," + "'1', " + "'" + LOGCODE_TANGGAPAN_MTPS + "'"; db.Database.ExecuteSqlCommand("INSERT INTO TRX_DOCUMENTS (" + FNAME_TANGGAPAN_MTPS + ") VALUES (" + FVALUE_TANGGAPAN_MTPS.Replace("''", "NULL") + ")"); String objekTanggapan = FVALUE_TANGGAPAN_MTPS.Replace("'", "-"); MixHelper.InsertLog(LOGCODE_TANGGAPAN_MTPS, objekTanggapan, 1); db.Database.ExecuteSqlCommand("UPDATE TRX_POLLING SET POLLING_IS_KUORUM = 1,POLLING_UPDATE_DATE = " + DATENOW + ", POLLING_UPDATE_BY = '" + USER_ID + "' WHERE POLLING_ID = " + DataProposal.PROPOSAL_POLLING_ID); TempData["Notifikasi"] = 1; TempData["NotifikasiText"] = "Data Berhasil Disimpan"; return(RedirectToAction("Index")); }
/// <summary> /// 生成rd中的支付信息 /// </summary> /// <param name="xmlRd">rd字符串</param> /// <param name="payment">支付信息</param> /// <param name="seq">支付顺序</param> /// <returns></returns> private string dealwithPaymentRd(string xmlRd, PaymentInfo payment, int seq) { string ret = string.Empty; string error = string.Empty; var acct = payment.bankAcnt.acntNo.Trim(); //工行账户,支付方 if (acct.Length < 19) { error = string.Format("账号长度错误!", payment.bankAcnt.acntNo); throw new Exception(error); } InstallContext ic = new InstallContext(); //初始化数据 string name = string.Empty; object obj = null; //本方账户 Type type = payment.bankAcnt.GetType(); PropertyInfo[] ps = type.GetProperties(); foreach (PropertyInfo i in ps) { obj = i.GetValue(payment.bankAcnt, null); name = "bankAcnt_" + i.Name; if (obj != null) { ic.Set(name, obj.ToString()); } else { ic.Set(name, " "); } } //对方账户 type = payment.oppoBankAcnt.GetType(); ps = type.GetProperties(); foreach (PropertyInfo i in ps) { obj = i.GetValue(payment.oppoBankAcnt, null); name = "oppoBankAcnt_" + i.Name; if (obj != null) { ic.Set(name, obj.ToString()); } else { ic.Set(name, " "); } } //付款单 type = payment.GetType(); ps = type.GetProperties(); foreach (PropertyInfo i in ps) { obj = i.GetValue(payment, null); name = i.Name; if (obj != null) { if (string.IsNullOrWhiteSpace(obj.ToString().Trim())) { ic.Set(name, " "); } else { ic.Set(name, obj.ToString()); } } else { ic.Set(name, " "); } } //是否加绩 if (payment.isUrgent == (int)enumYesNo.Yes) { ic.Set("isUrgent", "1"); //加急 } else { ic.Set("isUrgent", "2"); //普通 } //是否同城 if (payment.sameCity == (int)enumYesNo.Yes) { ic.Set("sameCity", "1"); //同城 } else { ic.Set("sameCity", "2"); //异地 } //是否跨行 if (payment.sameBank == (int)enumYesNo.Yes) { ic.Set("sameBank", "1"); //系统内,工行 //把跨行数据置空 ic.Set("oppoBankAcnt_city", " "); ic.Set("oppoBankAcnt_bankInfo_bankCode", " "); ic.Set("oppoBankAcnt_bankInfo_bankName", " "); } else { ic.Set("sameBank", "2"); //跨行 //跨行数据 ic.Set("oppoBankAcnt_city", payment.oppoBankAcnt.city); ic.Set("oppoBankAcnt_bankInfo_bankCode", payment.oppoBankAcnt.bankInfo.bankCode); ic.Set("oppoBankAcnt_bankInfo_bankName", payment.oppoBankAcnt.bankInfo.bankName); } //如果不写币种,则默认人民币 string currency = payment.currency; if (string.IsNullOrEmpty(currency)) { currency = "001"; //默认人名币 } payment.amount = payment.amount * 100; //工行按分来计算,元转分要乘以100 ic.Set("currency", currency); ic.Set("bankCode", payment.bankAcnt.swiftCode); //工行为 "102" ic.Set("cis", ConfigurationManager.AppSettings["cis"]); ic.Set("id", ConfigurationManager.AppSettings["id"]); ic.Set("iSeqno", seq.ToString()); //支付顺序号 //替换模板中的键为对应的值 var newXmlStr = ReplaceHelper.ReplaceStringVar(xmlRd, ic); _xmlTool.SetXML(newXmlStr); _xmlTool.SetXMLNode("PayAmt", payment.amount.ToString("f0")); //必须是整数 newXmlStr = _xmlTool.GetXML(); return(newXmlStr); }
/// <summary> /// 获得对应银行账号的当前余额 /// </summary> /// <param name="caller">调用者</param> /// <param name="bankCnt">银行账户信息</param> /// <param name="currency">币种</param> /// <returns></returns> public BalanceInfo getBalance(CallerInfo caller, BankAcnt bankCnt, string currency) { string error = string.Empty; var acct = bankCnt.acntNo.Trim(); if (acct.Length < 19) { error = "账号长度错误!"; throw new Exception(error); } //ICBCNCHelper ncHelper = ICBCNCHelper.GetInstance(); string xmlString = ICBCNCHelper.GetXmlString("QACCBAL"); InstallContext ic = new InstallContext(); //初始化数据 Type type = bankCnt.GetType(); PropertyInfo[] ps = type.GetProperties(); foreach (PropertyInfo i in ps) { object obj = i.GetValue(bankCnt, null); string name = i.Name; if (obj != null) { ic.Set(i.Name, obj.ToString()); } else { ic.Set(name, " "); } } //如果不写币种,会使用账户的币种 /* * if (string.IsNullOrEmpty(currency)) { * currency = "001"; //默认人名币 * } */ ic.Set("currency", currency); ic.Set("bankCode", bankCnt.swiftCode); ic.Set("cis", ConfigurationManager.AppSettings["cis"]); ic.Set("id", ConfigurationManager.AppSettings["id"]); //替换模板中的键为对应的值 var newXmlStr = ReplaceHelper.ReplaceStringVar(xmlString, ic); ICBC_NetSafeClient iCBC_NetSafeClient = CreateOneNC(); XML_EASY balString = new XML_EASY(newXmlStr);//new XML_EASY(ResourceSet.TransCode_QACCBAL_0010); if (acct.Length == 19) { balString.SetXMLNode("AccNo", acct); } //else if (acct.Length == 29 && acct[19] == '-') //{ // balString.SetXMLNode("AccNo", acct.Substring(0, 19)); // balString.SetXMLNode("AcctSeq", acct.Substring(20, 9)); //} string seqNo, seqResult; iCBC_NetSafeClient.Run(balString.GetXML(), out seqNo, out seqResult); iCBC_NetSafeClient = null; balString.SetXML(seqResult); if (balString.LocateString("<error>") >= 0) { error = balString.GetXMLNode("error"); throw new Exception(error); } string balMoney = balString.GetXMLNode("Balance"); if (balMoney != null && balMoney.Length > 0) { BalanceInfo balInfo = new BalanceInfo(); //取余额 decimal balance = Convert.ToDecimal(balMoney) / 100.0m; //以币种的最小单位为单位,人民币的单位为分,转换为元要除以100 //昨日余额 decimal accBalance = this.getYuanMoney(balString.GetXMLNode("AccBalance")); //可用余额 decimal usableBalance = this.getYuanMoney(balString.GetXMLNode("UsableBalance")); balInfo.bankAcnt = bankCnt; //账户信息 balInfo.balance = balance; balInfo.hisBalance = accBalance; balInfo.availBalance = usableBalance; balInfo.acntType = balString.GetXMLNode("AcctProperty"); //账户属性 balInfo.currency = balString.GetXMLNode("CurrType"); //币种 string retTime = balString.GetXMLNode("QueryTime"); if (!string.IsNullOrEmpty(retTime)) { balInfo.balanceDate = this.convertToDateTime(retTime); } balInfo.fSeqno = seqNo; //balString.GetXMLNode("fSeqno"); //指令包序列号 //error = "Name=" + balString.GetXMLNode("AccName") + "|Balance=" + accBalance.ToString() + "|银行应答时间=" + balString.GetXMLNode("QueryTime"); return(balInfo); } error = "银行RetMsg:" + balString.GetXMLNode("RetMsg"); throw new Exception(error); }
/// <summary> /// 检查前置机https服务以及签名服务状态 /// </summary> /// <param name="httpsState"></param> /// <param name="signState"></param> /// <returns></returns> public string CheckNetSafeClient(out bool httpsState, out bool signState) { httpsState = false; signState = false; string msg = string.Empty; #region 检查https服务 string error = string.Empty; BankAcnt bankCnt = new BankAcnt { acntNo = "1202022719927388888", acntName = "菌邢票董租氮蒸幻憨野该痼赴挥傻" }; var acct = bankCnt.acntNo.Trim(); if (acct.Length < 19) { error = "账号长度错误!"; throw new Exception(error); } string xmlString = ICBCNCHelper.GetXmlString("QACCBAL"); InstallContext ic = new InstallContext(); //初始化数据 Type type = bankCnt.GetType(); PropertyInfo[] ps = type.GetProperties(); foreach (PropertyInfo i in ps) { object obj = i.GetValue(bankCnt, null); string name = i.Name; if (obj != null) { ic.Set(i.Name, obj.ToString()); } else { ic.Set(name, " "); } } ic.Set("currency", "001"); ic.Set("bankCode", "102"); ic.Set("cis", ConfigurationManager.AppSettings["cis"]); ic.Set("id", ConfigurationManager.AppSettings["id"]); //替换模板中的键为对应的值 var newXmlStr = ReplaceHelper.ReplaceStringVar(xmlString, ic); ICBC_NetSafeClient iCBC_NetSafeClient = CreateOneNC(); XML_EASY balString = new XML_EASY(newXmlStr); if (acct.Length == 19) { balString.SetXMLNode("AccNo", acct); } string seqNo, seqResult; iCBC_NetSafeClient.Run(balString.GetXML(), out seqNo, out seqResult); balString.SetXML(seqResult); if (balString.LocateString("<error>") >= 0) { error = balString.GetXMLNode("error"); httpsState = false; msg = "前置机Https服务有问题:" + error; } else { httpsState = true; msg = "前置机Https服务OK"; } #endregion #region 检查签名服务 string signstr = iCBC_NetSafeClient.GetSignStr("www.gtdata.com"); if (!string.IsNullOrEmpty(signstr) && signstr.IndexOf("<sign>") > 0) { signState = true; msg += " 前置机签名服务OK."; } else { signState = false; msg += " 前置机签名服务有问题."; } #endregion iCBC_NetSafeClient = null; return(msg); }
static void Main(string[] args) { ReplaceHelper.Run(args); }
public void ResetManager() { ReplaceHelper.ResetManager(); }
/// <summary> /// /// </summary> /// <param name="obj"></param> /// <param name="messageProperty"></param> public override void Build(object obj, ObjectMessageProperty messageProperty) { ReplaceHelper.Replace(messageProperty, obj); PropertyManager.BuildInnerProperties(obj, messageProperty); }