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